我正在尝试创建一个 PHP 函数,该函数从您作为参数输入的网页下载图像。然而,网页本身虽然是一种画廊,只有非常小的图像缩略图版本,每个都直接链接到我想下载到本地计算机的较大的完整 jpeg 图像。所以图像不会直接从我放入函数的网页本身下载,而是从网页上这些 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
函数将网页的完整 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 的信息。但我似乎也无法实现这一点。
我希望这一切都有意义。任何帮助将不胜感激。