这段程序其实是属于“小偷程序”的重要部分。 这一段程序只是下载远程图片的那一段而已,程序写的比较简单,大多部分都做了注释。
代码如下:
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.net)){//判断是否是自己网站下的图片
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 ;
$content = str_replace($v,$nfn, $content);//替换content中的参数
}else{//获取不到图片则替换为默认图片
$content = str_replace($v,/upload/201204/20120417213810742.gif, $content);//替换content中的参数
}
}
}
}
php通过正则表达式下载图片到本地的实现代码
代码如下:
