ホームページ >バックエンド開発 >PHPチュートリアル >html および css の画像ファイルの PHP バッチ ダウンロードの例_PHP チュートリアル

html および css の画像ファイルの PHP バッチ ダウンロードの例_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:49:36858ブラウズ

PHP で画像をダウンロードする最初のステップでは、正規表現を使用して文字列内の画像アドレスを収集し、次に PHP 関連関数を使用して画像を直接読み取り、ローカル サーバーに保存して画像のバッチ ダウンロードを実現する必要があります。 。

最近とても忙しくて、リモートの写真をいくつかダウンロードする必要がありました。写真を 1 つずつ手動で保存するのは時間がかかりすぎるので、オンラインで検索しました。 PHP を見つけました。画像ファイルをバッチダウンロードする方法。原文は、PHP を使用して CSS ファイル内の画像をバッチダウンロードする方法に関する Ordinary World Blog の記事です。少し調べて書き直した後、それを使用できるようになり、はるかに便利で高速になります。

PHP バッチ ダウンロード画像ファイル コード:

コードは次のとおりです コードをコピー

set_time_limit(0); //PHP タイムアウトを設定します
$imagesURLArray = array_unique($imagesURLArray );

foreach($imagesURLArray as $imagesURL) {
エコー $imagesURL;
エコー「
」 ";
File_put_contents(basename($imagesURL), file_get_contents($imagesURL));
}

原理は非常に簡単で、画像アドレスを含む配列をループし、PHP の file_get_contents 関数を使用して画像を取得し、file_put_contents 関数を使用して画像を保存します。
追伸: PHP タイムアウトは必ず設定してください~!

元の記事の php を介して CSS で画像をダウンロードするためのコードを添付します:

コードは次のとおりです コードをコピー

/*
その他のオリジナル PHP フレームワーク
著作権 (c) 2007 - 2008 IsMole Inc.
作者: きみ
ドキュメント: Shuishui の特別なピーリング ツールであるスタイル ファイル内の写真をダウンロードします
*/

//note PHP タイムアウトを設定する
set_time_limit(0);

//note スタイルファイルの内容を取得します
$styleFileContent = file_get_contents('images/style.css');

//note ダウンロードする必要がある URL アドレスと一致させてください
preg_match_all("/url((.*))/", $styleFileContent, $imagesURLArray);

//note ダウンロードする必要があるアドレスをループして、1 つずつダウンロードします
$imagesURLArray = array_unique($imagesURLArray[1]);
foreach($imagesURLArray as $imagesURL) {
File_put_contents(basename($imagesURL), file_get_contents($imagesURL));
}


その後、phpの一括ダウンロード画像ファイルを見つけました

Web サイトの画像保存方法が 1001 ~ 1999 であることがわかったとします。すべてのディレクトリには 1 から始まる .jpg 画像が保存されます (数量は異なります)。ここで、PHP を使用して、必要なスタイルに従って画像を直接保存することにします。 . ローカルにダウンロードします

画像の開始アドレスが http://image.xxx.com/img/1001/1.jpg の場合
この時、変数$idに1001、変数$num.jpgに1.jpgを入れ、保存するファイル名は$id_$num.jpg
まず、このファイルの実行ディレクトリの下に img という名前の書き込み可能なフォルダーを作成してください

コードは次のとおりです コードをコピー
$id= isset($_GET['id']) && intval($_GET['id']) && $_GET['id']>1000 ? $_GET['id'] : 1001;
$num= isset($_GET['num']) && intval($_GET['num']) $_GET['num'] : 1;
$url="http://image.xxx.com/img/{$id}/{$num}.jpg";

$array=get_headers($url,1);

//$id を増やすか $num
を増やすかを 200 と 400 を返して判断します if(preg_match('/200/',$array[0])){
$new_url="?id={$id}&num=".($num+1);

ob_start();
読み取りファイル($url);
$img = ob_get_contents();
ob_end_clean();
$filename="./img/{$id}_{$num}.jpg";
$f=fopen($filename,'a');
fwrite($f,$img);
fclose($f);
}その他{
$new_url="?id=".($id+1)."&num=1";
}
if($id > 1999) exit('すべて完了');
// 現在のステータスを表示します
echo $url,' - ',$array[0],'<script>location.href="'.$new_url.'";</script>';

http://www.bkjia.com/PHPjc/632712.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632712.html技術記事 PHP で画像をダウンロードする最初のステップは、正規表現を使用して文字列内の画像アドレスを収集し、次に PHP 関連関数を使用して画像を直接読み取り、ローカル サーバーに保存することです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。