php中通过正则表达式下载内容中的远程图片的函数代码
前端之家收集整理的这篇文章主要介绍了
php中通过正则表达式下载内容中的远程图片的函数代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这段程序其实是属于“小偷程序”的重要部分。 这一段程序只是下载远程图片的那一段而已,程序写的比较简单,大多部分都做了注释。
<div class="codetitle"><a style="CURSOR: pointer" data="95147" class="copybut" id="copybut95147" onclick="doCopy('code95147')"> 代码如下:
<div class="codebody" id="code95147">
if (preg_match_all("/http://[^ "']+[.jpg|.gif|.jpeg|.png]+/ui",stripcslashes($content),$aliurl)){
$i=0; //多个
文件++
while(list($key,$v) = each($aliurl[0])){
//echo $v."
";
$filetype = pathinfo($v,PATHINFO_EXTENSION); //
获取后缀名
$ff = @file_get_contents($v); //
获取2进制
文件内容 if(!stripos($v,"jb51.cc")){//判断是否是自己网站下的
图片 if (!empty($ff)){ //
获取到
文件就执行下面的操作
$dir = "upload/".date("Ymd")."/";//指定新的存储路径
if (!file_exists($dir)){//判断目录是否存在
@mkdir($dir,511,true); //创建多级目录,511转换成十进制是777具有可执行权限
}
$nfn = $dir.date("Ymdhis").$i.".".$filetype; //构建
文件的新名字
$nf = @fopen($nfn,"w"); //创建
文件 fwrite($nf,$ff); //写入
文件 fclose($nf); //
关闭文件 $i++; //多
文件++
echo "<img src="".$nfn."">";
$content = str_replace($v,$nfn,$content);//替换content中的参数
}else{//
获取不到
图片则替换为默认
图片 $content = str_replace($v,"/upload/201204/20120417213810742.gif",$content);//替换content中的参数
}
}
}
}