Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

cljosse
2013-01-09 15:24:13

Ok ça je l'ai bien compris, CURLOPT_RETURNTRANSFER est bien mis a 1
Effectivement le curl_exe n'a pas marché, c'est là mon interrogation pourquoi avec easyphp5.3.9 cela marche mais pas avec easyPHP12.1
Je ne vois pas de quelle configuration cela peut venir.

Code complet ci dessous(extrait de gvideo).

Code:

  function download_remote_file($src, $dest) {
     if (empty($src))  return false;
          $return = ($dest === true) ? true : false;    
    /* curl */
    if (function_exists('curl_init')){
      if (!$return) $newf = fopen($dest, "wb");
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $src);
      curl_setopt($ch, CURLOPT_HEADER, false);
      curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept-language: en"));
      curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
      if (!ini_get('safe_mode')){
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
      }
      if (strpos($src, 'https://') !== false)  {
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      }
      if (!$return)  {
          curl_setopt($ch, CURLOPT_FILE, $newf);
          }  else  {
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        }
      $out = curl_exec($ch);
      curl_close($ch);        
      if ($out === false){
        return 'file_error';
      } else if (!$return) {
        fclose($newf);
        return true;
      } else {
        return $out;
      }
    } else if (ini_get('allow_url_fopen')) {
    /* file get content */
      if (strpos($src, 'https://') !== false and !extension_loaded('openssl')) {
        return false;
      }      
      $opts = array(
        'http' => array(
          'method' => "GET",
          'user_agent' => 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
          'header' => "Accept-language: en",
        )
      );
      $context = stream_context_create($opts); 
      if (($file = file_get_contents($src, false, $context)) === false) {
        return 'file_error';
      }      
      if (!$return) {
        file_put_contents($dest, $file);
        return true;
      }else {
        return $file;
      }
    }    
    return false;
  } 
 echo "download_remote<br>";
 $src= "https://api.dailymotion.com/video/xu5msq_theatre-equestre_creation?fields=description,thumbnail_large_url,title,owner.username,tags"; 
 $video = download_remote_file($src, true);;
echo "<pre><fieldset><legend>Informations:curl:</legend>".$video."</fieldset>";
//  phpinfo();
julien1311
2013-01-09 14:42:53

Bonjour,
Ca ne peut pas être un bête problème de pare-feu ? Peut-être que easyphp 12 utilise des ports "exotiques" bloqués par défaut par l'OS ?

flop25
2013-01-09 14:31:27

Salut
CURLOPT_RETURNTRANSFER doit être On pour retourner le résultat,  http://php.net/manual/en/function.curl-exec.php
et vu le === false, c'est que vraiment $out est False pas null, donc que curl n'a pas marché

cljosse
2013-01-09 12:26:13

Problème:
  En local pour mes tests j'utilise soit easyphp 5.3.9 ou easyphp 12.1.
   Pour afficher des videos je fais appel au plugin Embedded Videos
    Avec easyphp 5.3.9  (PHPVersion 5.3.9)  pas de problème je récupère bien les informations
   mais avec easyphp 12.1 (PHPVersion 5.4.8)  impossible de faire de même.
extrait du code

Code:

      $out = curl_exec($ch);
      curl_close($ch);
      
      if ($out === false)
      {
        return 'file_error';
      }

La valeur la variable $out est nulle, donc retour file_error.

dans les deux cas   ini_get('safe_mode' = false

  easyphp 12.1 permet de changer de version PHP mais en PHP Version 5.3.20 le problème semble identique.

Quelle action mener dans les fichiers de configurations du serveur pour que le fonctionnement soit identique???

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact