【发布时间】:2011-08-22 16:49:42
【问题描述】:
我想从网页(例如 www.yahoo.com)下载图像,并将其存储在使用 PHP 的文件夹中。
我正在使用 file_get_contents() 获取页面源并提取 img src 标记。我将此 src 传递给 cURL 代码。该代码没有给出任何错误,但图像没有被下载。请检查代码。我没有找到错误的地方。
<?php
$html = file_get_contents('www.yahoo.com');
$ptn = '/< *img[^>]*src *= *["\']?([^"\']*)/i';
preg_match_all($ptn, $html, $matches, PREG_PATTERN_ORDER);
$seq = 1;
foreach($matches as $img)
{
$fp = fopen("root/Images/image_$seq.jpg", 'wb');
$ch = curl_init ($img);
curl_setopt($ch,CURLOPT_FILE, $fp);
curl_setopt($ch,CURLOPT_URL, $img);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$image = curl_exec($ch);
curl_close($ch);
fwrite($fp, $image);
fclose($fp);
$seq++;
}
echo "IMAGES DOWNLOADED";
?>
【问题讨论】: