otro - PHP-Copie la imagen a mi servidor directamente desde la URL
php copiar archivo de un servidor a otro (5)
Posible duplicado:
guardar imagen desde php url usando php
Quiero tener un código PHP para seguir.
Supongamos que tengo una URL de imagen, por ejemplo, http://www.google.co.in/intl/en_com/images/srpr/logo1w.png
Si ejecuto un script, esta imagen se copiará y colocará en mi servidor dentro de una carpeta con 777 derechos.
¿Es posible? Si sí, ¿puedes dar la dirección para lo mismo?
Gracias,
Ian
De dos maneras, si usas PHP5
copy(''http://www.google.co.in/intl/en_com/images/srpr/logo1w.png'', ''/tmp/file.jpeg'');
si no, use file_get_contents
//Get the file
$content = file_get_contents("http://www.google.co.in/intl/en_com/images/srpr/logo1w.png");
//Store in the filesystem.
$fp = fopen("/location/to/save/image.jpg", "w");
fwrite($fp, $content);
fclose($fp);
Desde Copiar imágenes de url a servidor, elimine todas las imágenes después
function getimg($url) {
$headers[] = ''Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg'';
$headers[] = ''Connection: Keep-Alive'';
$headers[] = ''Content-type: application/x-www-form-urlencoded;charset=UTF-8'';
$user_agent = ''php'';
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_USERAGENT, $user_agent); //check here
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
$return = curl_exec($process);
curl_close($process);
return $return;
}
$imgurl = ''http://www.foodtest.ru/images/big_img/sausage_3.jpg'';
$imagename= basename($imgurl);
if(file_exists(''./tmp/''.$imagename)){continue;}
$image = getimg($imgurl);
file_put_contents(''tmp/''.$imagename,$image);
Este hilo SO resolverá su problema. Solución en resumen:
$url = ''http://www.google.co.in/intl/en_com/images/srpr/logo1w.png'';
$img = ''/my/folder/my_image.gif'';
file_put_contents($img, file_get_contents($url));
$url = "http://www.example/images/image.gif";
$save_name = "image.gif";
$save_directory = "/var/www/example/downloads/";
if(is_writable($save_directory)) {
file_put_contents($save_directory . $save_name, file_get_contents($url));
} else {
exit("Failed to write to directory "{$save_directory}");
}
$url="http://www.google.co.in/intl/en_com/images/srpr/logo1w.png";
$contents=file_get_contents($url);
$save_path="/path/to/the/dir/and/image.jpg";
file_put_contents($save_path,$contents);
debe tener allow_url_fopen
establecido on