1、从HTML文档中获得全部图片
@1、获取链接链表
$data = file_get_contents('http://www.sina.com.cn');
$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $data, $media);
unset($data);
$data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
foreach($data as $url)
{
$info = pathinfo($url);
if (isset($info['extension']))
{
if (($info['extension'] == 'jpg') ||
($info['extension'] == 'jpeg') ||
($info['extension'] == 'gif') ||
($info['extension'] == 'png'))
array_push($images, $url);
}
}
@2、下载到本地
因一些网站特殊处理,程序也需要特殊处理,大概代码如下(在foreach 中添加$key):
//下载到本地
$img_path = './img/'.date('Ymd');
if(!is_dir($img_path)){
@mkdir($img_path, 0777, true);
}
$img_name = $key.date('YmdHis').substr($url,strrpos($url,'.'));//文件名
$string = file_get_contents($url);//内容
$handle = fopen($img_path.'/'.$img_name,'a+');//打开一个句柄
fwrite($handle, $string);//写入
fclose($handle);//关闭