Problème de fonction dans fonction? / file_get_contents, fopen

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de fonction dans fonction? / file_get_contents, fopen

par mere-teresa » 28 août 2008, 15:39

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

par Lorange » 28 août 2008, 14:52

J'ai résolu le problème grâce au conseil avisé reçu sur un autre forum:

Il y avait peut-être, m'a-t-on dit, des caractères invisibles dans la page contenant le nom du fichier. Il fallait donc faire:
$nom_fichier = trim(file_get_contents("http://exemple.com/nomdufichier.php"));
Et ça marche!

par Invité » 28 août 2008, 13:51

Pardon: A la ligne 4, remplacez
while (!feof($remote)) {
par
while (!feof($distant)) {

Problème de fonction dans fonction? / file_get_contents, fop

par Lorange » 28 août 2008, 13:46

Bonjour,

Un autre site me met à disposition une image différente chaque jour. Plutôt que de l'afficher directement sur mon site, je la copie sur mon serveur grâce à PHP et cela fonctionne:
$distant = fopen("http://exemple.com/imagedujour/", "rb"); //ouvre le fichier distant (L'URL se termine bien ainsi)
$local = fopen("/[chemin_abosulu_de_mon_serveur/mondossier/image.jpg", "wb");

// Copie les données sur mon serveur:
while (!feof($remote)) {
    $data = fread($distant, 1024);
    fwrite($local, $data);
}

fclose($local);
fclose($distant);
Comme vous le voyez, j'enregistre l'image récupérée chaque jour sous le nom générique image.jpg. J'aimerais pouvoir remplacer ce nom générique par un nom que le service tiers m'indique dans un fichier à part (http://exemple.com/nomdufichier.php). Je dois donc récupérer le texte qui se trouve dans cette page avec la fonction file_get_contents().
$nom_fichier = file_get_contents("http://exemple.com/nomdufichier.php"); //récupére le nom du fichier qui est inscrit dans la page nomdufichier.php.

$distant = fopen("http://exemple.com/imagedujour/", "rb");
$local = fopen("/[chemin_abosulu_de_mon_serveur/mondossier/".$nom_fichier, "wb"); // problème: ici, $nomfichier n'affiche rien.

// Copie les données sur mon serveur:
while (!feof($remote)) {
    $data = fread($distant, 1024);
    fwrite($local, $data);
}

fclose($local);
fclose($distant);
Cette deuxième méthode ne fonctionne pas. Je pense que je ne peux pas intégrer ainsi $nom_fichier dans le fopen. mais comment faire? Je précise que si je fais un
echo file_get_contents("http://exemple.com/nomdufichier.php");
j'obtiens bien le nom de fichier qui est inscrit dans la page nomdufichier.php et que j'aimerais utiliser pour enregistrer l'image sur mon serveur.

Merci de votre aide. :arrow: :?: