У меня есть файл изображения. Пример: http://img.ruphp.com/php/random-random-31108109-500-502.jpg
Я хочу сохранить изображение в каталог с именем images-folder на моем хосте. Какой был бы лучший способ сделать это с помощью PHP?
Да, это очень просто. Вот немного скрипта cURL, чтобы сделать именно это:
$image_link = "http://img.ruphp.com/php/random-random-31108109-500-502.jpg";//Direct link to image $split_image = pathinfo($image_link); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL , $image_link); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.ABC Safari/525.13"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response= curl_exec ($ch); curl_close($ch); $file_name = "images-folder/".$split_image['filename'].".".$split_image['extension']; $file = fopen($file_name , 'w') or die("X_x"); fwrite($file, $response); fclose($file);
Это должно делать то, что вы хотите. Он сохранит изображение в каталоге, а затем назовите изображение как random-random-31108109-500-502
<-filename .jpg
<-extension.
Еще проще без cURL :
<?php $link= "http://img.ruphp.com/php/random-random-31108109-500-502.jpg"; $destdir = 'images-folder/'; $img=file_get_contents($link); file_put_contents($destdir.substr($link, strrpos($link,'/')), $img); ?>
Вот еще, несколько проще следовать, например, прямо с сайта, который я прокомментировал
$remote_img = 'http://img.ruphp.com/php/logo_huge_domains.gif'; $img = imagecreatefromjpeg($remote_img); $path = 'images/'; imagejpeg($img, $path);
http://www.edmondscommerce.co.uk/php/php-save-images-using-curl/