2009-11-26 3 views

Répondre

4
$fp = fopen('logo.png', 'w'); 
fwrite($fp, file_get_contents('http://sstatic.net/so/img/logo.png')); 
fclose($fp); 
+0

si fp $ = fopen ('./ dir/fichier.ext', 'w '); ??? à votre santé! –

3

Je voudrais une plaine file_get_contents et file_put_contents le ferait

$content = file_get_contents('http://sstatic.net/so/img/logo.png') 
file_put_contents('logo.png', $content); 

sont à noter que, avec cette façon de faire tout le fichier sera stocké dans la mémoire, de sorte que vous devez faire attention à le memory_limit. Si vous avez besoin d'une méthode sans mettre le fichier en mémoire curl le ferait.

+0

Comment faire avec curl? – Mask

0

Vous pouvez utiliser une demande boucle:

public static function curlGet($url) 
{ 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $content = curl_exec($ch); 
    curl_close($ch); 
    return $content; 
} 

et écrire la réponse de contenu dans un fichier

$fp = fopen('logo.png', 'w'); 
fwrite($fp, curlGet('http://sstatic.net/so/img/logo.png')); 
fclose($fp); 
Questions connexes