[PHP] pb de copie d'image depuis une url distante

pb de copie d'image depuis une url distante [PHP] - Programmation

Marsh Posté le 14-03-2001 à 17:16:48    

voilà, je souhaiterais pouvoir copier une image présente sur un autre serveur sur le mien en indiquant simplement son url dans un formulaire mais je n'y arrive pas :(
Attention c pas un upload que je veux -j'ai pas de pb avec ça ;).
le code mon script :
 
$open = fopen($image_url, "r" );
$read = fread($open, 20480); // limite de lecture à 20ko
$slash = strrchr($image_url, "/" );
$long = strlen($slash);
$nom = substr($slash, 1, $long); // récup du nom du fichier
$open2 = fopen('chemin/vers/mon/répertoire/'.$nom, "w" ); // création du fichier
$write = fwrite($open2, $read); // écriture du fichier
 
la chose me semble correcte sur le papier et fonctionne... presque :( Il me crée bien l'image avec le bon nom et les bonnes dimansions en pixels et avec exactement la même taille seulement l'image se transforme en tableau d'art moderne avec plein de couleurs et de formes bizarres qd c un .jpg et une belle image vide qd c un .gif :(
Je comprend pas prkoi ça foire ! HELP !

Reply

Marsh Posté le 14-03-2001 à 17:16:48   

Reply

Marsh Posté le 14-03-2001 à 19:01:54    

Salut,
essaye de mettre un attribut "b" en plus dans tes fopen afin d'ouvrir le fichier en mode binaire et non texte
 
exemple :
$open = fopen($image_url, "rb" );  
 
A++

Reply

Marsh Posté le 14-03-2001 à 19:39:31    

pareil


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 14-03-2001 à 20:15:53    

Wisetechi & Roswell_ > merci c t bien qq chose comme ça mais en un peu plus vicieux ! En effet j'avais texté la chose avec "b" en plus mais il me faisait une erreur sur '$open2 = fopen('chemin/vers/mon/répertoire/'.$nom, "bw" );' :sweat:
Alors suite à votre proposition j'ai retesté et... ça marche avec '$open2 = fopen('chemin/vers/mon/répertoire/'.$nom, "wb" );' !
 
Qui a dit que PHP était succeptible !!! :crazy:  
 
En tout cas merci à vous ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed