解析html中链接url,并下载在指定目录

<?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; 
	}
?>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值