file_put_contentsで複数画像の取得
自分のサーバー(myserver.com)上で「他サイトにある画像をダウンロードできるPHP」=【download.php】を組みました。
<?php
$url = 'http://yoso.jp/qt6w8d.jpg';
$data = file_get_contents($url);
file_put_contents('./image/photo_1.jpg',$data);
?>
上記では、http://yoso.jp/にある1つの画像をphoto_1.jpgとリネームして、myserver.com/image/ ディレクトリに画像ファイルとして収納できます。
****************************************************************
次に、 1001.csv 1002.csv 1003.csv など複数のCSVファイルを作り、自分のサーバーのmyserver.com/csv_file/ ディレクトリに保管しました。
それぞれのCSVファイルの中には、yoso.jpにある画像のURLが、カンマ区切りで複数書かれています。
例【1001.csv】
中身 (yoso.jp にある 複数(今回3つ)の画像のURLが記載)
http://yoso.jp/qt6w8d.jpg,http://yoso.jp/dve4k.jpg,http://yoso.jp/4m2fl3.jpg,
尚、このCSVファイルもスクレイピンクで自作しているため必要であれば ""で囲むように改良することも可能です。
"http://yoso.jp/qt6w8d.jpg","http://yoso.jp/dve4k.jpg","http://yoso.jp/4m2fl3.jpg",
上記のcsvファイルを用意した後、下記のような【get.php】を組みました。
<?php
$id=$_SERVER['QUERY_STRING'];
$csv_url = "http://myserver.com/csv_file/";
$csv_url .= $id ;
$csv_url .= ".csv";
$file_jpg = file_get_contents( $csv_url );
echo $file_jpg;
?>
この【get.php】は、http://myserver.com/get.php?id=1001 とクエリーでcsv名を指定すると、1001.csvにある画像URL(1001.csvの場合3つ)をPHP上に表示(echo)できます。
**************************************************************
やりたいこと
【download.php】と【get.php】に記載したソースと組み合わせて、csvファイルに書いてある複数の画像をすべてサーバーに取り込みたいです。
可能であればそれぞれの画像名をphoto_1.jpg photo_2.jpg photo_3.jpg のような形でリネームし保存できればと考えていますが、file_put_contentsにて、複数ファイル指定で動作させる方法がわかりません。
どのようにすればいいかご教示戴きたくお願いいたします。
お礼
お礼が遅くなってしまいすいません ありがとうございました!