パラメータとして入力した Web ページから画像をダウンロードする PHP 関数を作成しようとしています。ただし、Web ページ自体は一種のギャラリーであり、画像の非常に小さなサムネイル バージョンしかなく、ローカル コンピューターにダウンロードしたい大きな完全な jpeg 画像に直接リンクしています。したがって、画像は、関数に入れた Web ページ自体から直接ダウンロードされるのではなく、Web ページ上のこれらの jpeg 画像ファイルへの個々のリンクからダウンロードされます。
たとえば、次のようになります。
www.somesite.com/galleryfullofimages/
は画像ギャラリーの場所です。
そして、必要なギャラリーの各 jpeg 画像ファイルは、次のような場所にあります。
www.somesite.com/galleryfullofimages/images/01.jpg
www.somesite.com/galleryfullofimages/images/02.jpg
www.somesite.com/galleryfullofimages/images/03.jpg
私がこれまでにやろうとしてきたことは、file_get_contents
関数を使用して Web ページの完全な html を文字列として取得し<a href="images/01.jpg">
、引用符内のすべての要素を分離して配列内に配置しようとすることです。次に、この配列を使用して各画像を見つけ、ループですべてダウンロードします。
これは私がこれまでに行ったことです:
<?php
$link = "http://www.somesite.com/galleryfullofimages/";
$contents = file_get_contents($link);
$results = preg_split('/<a href="[^"]*"/', $contents);
?>
しかし、私はこの時点で立ち往生しています。私は正規表現もまったく初めてで、ご覧のとおり使用しようとしました。各画像リンクを分離して画像をダウンロードするにはどうすればよいですか? または、これを完全に行うより良い方法はありますか?cURLの使用についても読みました。しかし、私はそれを実装することもできないようです。
これがすべて理にかなっていることを願っています。どんな助けでも大歓迎です。