2010-12-08 5 views
0

Possible en double:
PHP save image fileEnregistrer fichier distant

$image_url = 'http://site.com/images/image.png'; 

Comment puis-je enregistrer le fichier depuis un site distant à mon dossier dans certains?

+0

Je pense que quelqu'un demande cela tous les jours. http://stackoverflow.com/search?q=php+save+remote+file+locally seulement 34 pages ... – DampeS8N

Répondre

5
copy($image_url, $your_path); 

Et si allow_url_fopen dans votre php.ini n'est pas réglé, puis obtenir le fichier avec cURL.

+0

PHP 4.3.0 ou supérieur. – thejh

+0

Si la taille du fichier est trop grande, essayez la méthode de boucle mentionnée par Paul Schreiber –

2
$image_url = 'http://site.com/images/image.png'; 
$img = file_get_contents($image_url); 
$fp = fopen('image.png', 'w'); 
fwrite($fp, $img); 
fclose($fp); 
+1

cela met toutes les données dans la RAM avant de l'écrire – thejh

5

Vous pouvez le faire avec CURL. De la manual:

$ch = curl_init("http://site.com/images/image.png"); 
$fp = fopen("image.png", "w"); 

curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, 0); 

curl_exec($ch); 
curl_close($ch); 
fclose($fp);