[PHP] Copier une image d'un site sur son disque dur ?

Copier une image d'un site sur son disque dur ? [PHP] - PHP - Programmation

Marsh Posté le 22-12-2003 à 20:13:38    

j'étais en train de chercher comment faire pour copier une image à partir d'un site vers un de mes répertoire, directement ?
 
la fonction copy ne fonctionne pas ...

Reply

Marsh Posté le 22-12-2003 à 20:13:38   

Reply

Marsh Posté le 22-12-2003 à 20:28:23    

http://ch.php.net/manual/fr/function.copy.php
 
Note : Depuis PHP 4.3.0, les deux paramètres source et dest peuvent être des URL si les gestionnaires d'URL ont été activés ("fopen wrappers" ). Voyez la fonction fopen() pour plus de détails. Si dest est une URL, la copie peut échouer si ce protocole ne supporte pas l'écrasement de fichiers existants.

Reply

Marsh Posté le 22-12-2003 à 20:34:01    

oui j'ai vu ça mais justement c'est bien sur ON dans mon fichier php.ini et pourtant j'ai un message d'erreur du genre fopen impossible sur le fichier source ...   :(

Reply

Marsh Posté le 22-12-2003 à 20:39:11    

quelle version de PHP ?
et puis, donne un peu de code...

Reply

Marsh Posté le 22-12-2003 à 20:43:18    

PHP 4.2.0
 
pour le code tout simplement ça par exemple :
 

Code :
  1. copy("http://www.alapage.com/get_img.php?cgi=disque_l&num_ref=553682r.jpg", "c:/temp/cover.jpg" );

Reply

Marsh Posté le 22-12-2003 à 21:04:48    

à mon avis apache ne connait pas C:\
essaie de mettre juste "cover.jpg"

Reply

Marsh Posté le 22-12-2003 à 21:17:27    

nan, ça fait pareils ...
 
le problème vient de la lecture, j'ai ce message d'erreur :
 
Warning: Unable to open 'http://www.alapage.com/get_img.php?cgi=disque_l&num_ref=338577r.jpg' for reading: Invalid argument in c:\easyphp\www\mp3.php on line 153

Reply

Marsh Posté le 23-12-2003 à 00:14:34    

essaie fopen

Reply

Marsh Posté le 23-12-2003 à 00:21:10    

fopen marche mais je n'obtient pas de bon résultat avec ...
 
je lis le contenu et recopie dans un fichier de test mais le contenu final n'est pas le bon.
je ne comprends pas bien  :??:

Reply

Marsh Posté le 23-12-2003 à 02:14:48    

peut-être le MIME-type

Reply

Marsh Posté le 23-12-2003 à 02:14:48   

Reply

Marsh Posté le 23-12-2003 à 13:46:29    

Code :
  1. <?php
  2. if( ! ( $x = fopen("http://www.alapage.com/get_img.php?cgi=disque_l&num_ref=553682r.jpg", "r" ) ) )
  3. {
  4. die( "?" );
  5. }
  6. if( ! ( $y = fopen("cover.jpg", "w" ) ) )
  7. {
  8. die( "??" );
  9. }
  10. $buff = "";
  11. do
  12. {
  13.     $buff = fread( $x, 8192 );
  14.     if( strlen( $buff ) == 0)
  15.     {
  16.  break;
  17.     }
  18.     fwrite( $y, $buff );
  19. } while( true );
  20. fclose( $x );
  21. fclose( $y );
  22. ?>
  23. <img src="cover.jpg">


 
allow_url_fopen = On dans php.ini.
Ca marche très bien chez moi :/


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 23-12-2003 à 14:36:36    

je suis d'accord que la fonction marche mais ça donne des résultats très bizarre  :pt1cable:  
 
voici l'image que l'on obtient si on la sauvegarde à la main :
 
http://bab22333.no-ip.org/image_originale.jpg
 
et l'image obtenu avec le script :
http://bab22333.no-ip.org/cover_copie.jpg
 
à se demander d'où vient le pb  :D


Message édité par bab le 23-12-2003 à 14:37:09
Reply

Marsh Posté le 23-12-2003 à 15:35:15    

Chez moi : http://www.surleau.org/test/img/img.php
 
Fait voir ton code !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 23-12-2003 à 16:24:21    

À mon avis, conversion de retour chariot dans le fopen. Essaye fopen(..., 'rb');

Reply

Marsh Posté le 23-12-2003 à 16:42:16    

Yes sous win faut ajouter 'b' dans le mode, sinon il converti :D
Désolé, pour surleau.org, il est down pour le moment :/


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 23-12-2003 à 18:00:22    

vi exact, avec wb au lieu de w dans l'écriture, no problemo :)
merci du coup de main

Reply

Marsh Posté le 23-12-2003 à 18:05:01    

Bab a écrit :

je suis d'accord que la fonction marche mais ça donne des résultats très bizarre  :pt1cable:  
 
voici l'image que l'on obtient si on la sauvegarde à la main :
 
http://bab22333.no-ip.org/image_originale.jpg
 
et l'image obtenu avec le script :
http://bab22333.no-ip.org/cover_copie.jpg
 
à se demander d'où vient le pb  :D


 
ben je ne vois pas le problème...  :heink:  
 
Dans l'image n° 1, on a un fistfucking, et dans l'image n° 2, le résultat... :/

Reply

Marsh Posté le 23-12-2003 à 18:19:25    

:D  :D

Reply

Marsh Posté le 23-12-2003 à 18:27:35    

Hermes le Messager a écrit :


 
ben je ne vois pas le problème...  :heink:  
 
Dans l'image n° 1, on a un fistfucking, et dans l'image n° 2, le résultat... :/
 


 :non: On est pas vendredi.
M'enfin :lol: quand même.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 24-12-2003 à 11:34:08    

mara's dad a écrit :

Code :
  1. <?php
  2. if( ! ( $x = fopen("http://www.alapage.com/get_img.php?cgi=disque_l&num_ref=553682r.jpg", "r" ) ) )
  3. {
  4. die( "?" );
  5. }
  6. if( ! ( $y = fopen("cover.jpg", "w" ) ) )
  7. {
  8. die( "??" );
  9. }
  10. $buff = "";
  11. do
  12. {
  13.     $buff = fread( $x, 8192 );
  14.     if( strlen( $buff ) == 0)
  15.     {
  16.  break;
  17.     }
  18.     fwrite( $y, $buff );
  19. } while( true );
  20. fclose( $x );
  21. fclose( $y );
  22. ?>
  23. <img src="cover.jpg">


 
allow_url_fopen = On dans php.ini.
Ca marche très bien chez moi :/


 
 
il connait bien ça en plus  :D  :D  :D


---------------
GENERATION MOBILES : Imprimantes GSM & logos/sonneries/jeux
Reply

Sujets relatifs:

Leave a Replay

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