采集远程图片图片并且替换图片地址代码
2013-09-05 19:25
501 查看
现在用php采集远程图片是很简单的事情,但是我们要把采集过来的数据进行过滤,这恐怕得用到正则表达式了,下面的程序是采集远程图片图片并且替换图片地址代码。采集远程图片图片并且替换图片地址代码
/*
现在用php教程采集远程图片是很简单的事情,但是我们要把采集过来的数据进行过滤,这恐怕得用到正则表达式了,下面的程序是采集远程图片图片并且替换图片地址代码。
*/
$dir_date=date('y/m/d');//日期文件夹
$dir_name="images/$dir_date";//文件夹路径
function mkdirm($path) //取文件夹名
{
if (!file_exists($path)) //判断是否存在
{
mkdirm(dirname($path)); //返回路径中的目录部分
mkdir($path, 0777); //创建文件夹和权限
}
}
mkdirm($dir_name);//创建文件夹
//$files = file_get_contents('http://www.ywsp.com');
$files ='<img src="http://img.php100.com/img/bid_v2/bid_v2_content/p_bid.gif" alt="普通任务" /><img width="272px" height="60px" style="padding-top: 10px;" src="http://img.php100.com/img/index_v3/20100611001.gif">';
// 图片地址转换一下 $p=preg_replace('//image//', 'http://qq.ip138.com/image/', $pg[1]);
$reg = "/<img[^>]*src="(http://(.+)/(.+).(jpg|gif|bmp|bnp))"/isu";
$img=preg_match_all($reg,$files,$imgs);
for ($i=0;$i<count($imgs[0]);$i++)
{
//echo "".$imgs[1][$i]." <br>n";
//保存图片
$opts = array(
'http'=>array(
'header'=>"referer: http://www.php100.com/rn"
)
);
$context = stream_context_create($opts);
header( 'content-type: image/jpeg' );
$fileresource = @file_get_contents( $imgs[1][$i],false,$context) ;
$image_old.=""".$imgs[1][$i].""".","; //先把所有网址变为一个数如1,2,3,4
$image_new.=""".$dir_name."/".mktime().$i.".jpg".""".","; //先把所有新的图片地址变为一个数如1,2,3,4
file_put_contents($dir_name."/".mktime().$i.".jpg", $fileresource);
//保存图片
}
$image_old=substr($image_old,0,(strlen($image_old)-1));//把网址最后个逗号去掉
$image_new=substr($image_new,0,(strlen($image_new)-1));//把新网址最后个逗号去掉
//print_r($p);
$image_old=explode(",",$image_old);//分割多个
$image_new=explode(",",$image_new);//分割多个
$files=str_replace($image_old,$image_new,$files); //把网址跟新的图片网址调用进去替换
echo $files;
/*
现在用php教程采集远程图片是很简单的事情,但是我们要把采集过来的数据进行过滤,这恐怕得用到正则表达式了,下面的程序是采集远程图片图片并且替换图片地址代码。
*/
$dir_date=date('y/m/d');//日期文件夹
$dir_name="images/$dir_date";//文件夹路径
function mkdirm($path) //取文件夹名
{
if (!file_exists($path)) //判断是否存在
{
mkdirm(dirname($path)); //返回路径中的目录部分
mkdir($path, 0777); //创建文件夹和权限
}
}
mkdirm($dir_name);//创建文件夹
//$files = file_get_contents('http://www.ywsp.com');
$files ='<img src="http://img.php100.com/img/bid_v2/bid_v2_content/p_bid.gif" alt="普通任务" /><img width="272px" height="60px" style="padding-top: 10px;" src="http://img.php100.com/img/index_v3/20100611001.gif">';
// 图片地址转换一下 $p=preg_replace('//image//', 'http://qq.ip138.com/image/', $pg[1]);
$reg = "/<img[^>]*src="(http://(.+)/(.+).(jpg|gif|bmp|bnp))"/isu";
$img=preg_match_all($reg,$files,$imgs);
for ($i=0;$i<count($imgs[0]);$i++)
{
//echo "".$imgs[1][$i]." <br>n";
//保存图片
$opts = array(
'http'=>array(
'header'=>"referer: http://www.php100.com/rn"
)
);
$context = stream_context_create($opts);
header( 'content-type: image/jpeg' );
$fileresource = @file_get_contents( $imgs[1][$i],false,$context) ;
$image_old.=""".$imgs[1][$i].""".","; //先把所有网址变为一个数如1,2,3,4
$image_new.=""".$dir_name."/".mktime().$i.".jpg".""".","; //先把所有新的图片地址变为一个数如1,2,3,4
file_put_contents($dir_name."/".mktime().$i.".jpg", $fileresource);
//保存图片
}
$image_old=substr($image_old,0,(strlen($image_old)-1));//把网址最后个逗号去掉
$image_new=substr($image_new,0,(strlen($image_new)-1));//把新网址最后个逗号去掉
//print_r($p);
$image_old=explode(",",$image_old);//分割多个
$image_new=explode(",",$image_new);//分割多个
$files=str_replace($image_old,$image_new,$files); //把网址跟新的图片网址调用进去替换
echo $files;
相关文章推荐
- php采集文章中图片并替换为本地地址的代码分享
- php自动采集内容中带有图片地址的远程图片保存到本地
- php采集文章中的图片获取替换到本地(实现代码)
- PHP 文章中的远程图片采集到本地的代码
- php采集内容中带有图片地址的远程图片并保存的方法
- ReplaceSaveRemoteFile 替换、保存远程图片 的代码
- php采集内容中带有图片地址的远程图片并保存的方法
- php把采集内容中图片地址下载并替换成本地地址
- php采集远程图片的思路与实现代码
- php采集文章中的图片获取替换到本地(实现代码)
- php采集文章中的图片获取替换到本地(实现代码)
- 预加载2+网页加载条 可以直接复制代码运行,如果图片地址丢失的话可以自己替换掉
- php把采集内容中图片地址下载并替换成本地地址
- ASP替换、保存远程图片实现代码
- php采集文章中的图片获取替换到本地(实现代码)
- ReplaceSaveRemoteFile 替换、保存远程图片 的代码
- 采集图片并且写入本地
- php中通过正则表达式下载内容中的远程图片的函数代码
- java下载远程http地址的图片文件到本地-自动处理图片是否经过服务器gzip压缩的问题