我需要从网址下载所有图片(仅限)。我一直在搜索,但从来没有得到正确答案。
我有一个页面可以接受网站网址一个输入框,然后提交后将从该网站下载所有图像。
我从网上获得此代码,但我不知道如何使用或在哪里放置网址。例如,我想从http://www.microsoft.com/en-ph/default.aspx
$url = $_REQUEST['webUrl'];
$string = FetchPage($url);
$image_regex_src_url = '/<img[^>]*'.
'src=[\"|\'](.*)[\"|\']/Ui';
$image_regex_src_url = '/<img[^>]*'.
'src=[\"|\'](.*)[\"|\']/Ui';
preg_match_all($image_regex_src_url, $string, $out, PREG_PATTERN_ORDER);
$images_url_array = $out[1];
foreach ($images_url_array as $pica)
{
echo '<img src="'.$pica.'" >';
$fileNames[] = $pica;
}
$_SESSION['filesArr'] = $fileNames;
function FetchPage($path)
{
$file = fopen($path, "r");
if (!$file)
{
exit("URL Unknown");
}
$data = '';
while (!feof($file))
{
$data .= fgets($file, 1024);
}
return $data;
}
这是我的下载脚本。
$ files = array(&#39; http://c.s-microsoft.com/en-ph/CMSImages/mslogo.png?version=856673f8-e6be-0476-6669-d5bf2300391d&#39;); $ zip = new ZipArchive();
$tmp_file = tempnam('.','');
$zip->open($tmp_file, ZipArchive::CREATE);
foreach($files as $file){
$download_file = file_get_contents($file);
$zip->addFromString(basename($file),$download_file);
}
# close zip
$zip->close();
# send the file to the browser as a download
header('Content-disposition: attachment; filename=download.zip');
header('Content-type: application/zip');
readfile($tmp_file);
答案 0 :(得分:0)
您也可以使用wget
...例如:
wget -r -A=.jpg,.png http://www.microsoft.com/en-ph/default.aspx