画像ファイルがあります。例: http://images5.fanpop.com/image/photos/31100000/random-random-31108109-500-502.jpg
ホストの images-folder というディレクトリに画像を保存したいと考えています。PHPを使用してこれを行う最良の方法は何ですか?
画像ファイルがあります。例: http://images5.fanpop.com/image/photos/31100000/random-random-31108109-500-502.jpg
ホストの images-folder というディレクトリに画像を保存したいと考えています。PHPを使用してこれを行う最良の方法は何ですか?
はい、とても簡単です。これを行うための小さなcURLスクリプトを次に示します。
$image_link = "http://images5.fanpop.com/image/photos/31100000/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.A.B.C 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://images5.fanpop.com/image/photos/31100000/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://www.somwhere.com/images/image.jpg';
$img = imagecreatefromjpeg($remote_img);
$path = 'images/';
imagejpeg($img, $path);
http://www.edmondscommerce.co.uk/php/php-save-images-using-curl/