<?php
$imgurls = array();
$imgurls = self::getImgs($value['content']);
if(is_array($imgurls)){
foreach($imgurls as $imgurl)
{
$pathes = parse_url($imgurl);
$path = $pathes['path'];
$dir = substr($path,0,strrpos($path,"/"));
$filename = substr($path,strrpos($path,"/")+1);
self::GrabImage($imgurl,$dir,$filename);
}
}
function getImgs($content,$order='ALL'){
$pattern="/((http|https|ftp|telnet|news):\/\/[a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+\.(jpg|gif|png|bmp|swf|rar|zip))/isU";
preg_match_all($pattern,$content,$match);
if(isset($match[1])&&!empty($match[1])){
if($order==='ALL'){
return $match[1];
}
if(is_numeric($order)&&isset($match[1][$order])){
return $match[1][$order];
}
}
return '';
}
/*
*@$url string 远程图片地址
*@$dir string 目录,可选 ,默认当前目录(相对路径)
*@$filename string 新文件名,可选
*/
function GrabImage($url, $dir='', $filename=''){
if(empty($url)){
return false;
}
//判断目录存在否,存在给出提示,不存在则创建目录
if (!is_dir($dir)){
//第三个参数是“true”表示能创建多级目录,iconv防止中文目录乱码
$res=mkdir(iconv("UTF-8", "GBK", $dir),0777,true);
}
$filename = $dir ."/". $filename;
if(!file_exists($filename))
{
$content = file_get_contents($url);
file_put_contents($filename, $content);
}
return $filename;
}
?>
解析html中链接url,并下载在指定目录
最新推荐文章于 2024-04-24 15:15:38 发布