专注前端,专注网页设计分享 - (网页制作/模板制作/设计)755150799 织梦模板 | 网页特效 | 网站模板 | 建站教程 | Tag标签 | 联系站长

php批量下载网页图片并替换为本地路径

时间:2014-03-06 11:38:09来源:学技巧网站制作 作者:学技巧网页制作 阅读:0次 【 点评一下

网上有不少超级编辑器,都自带了下载采集图片的功能。

那么一篇文章复制过来,发现图片路径都还是别人网站的怎么办?如何一键下载这些图片到本地,并且自动修改成为本地的路径呢。

/**
* 获取替换文章中的图片路径
* @param string $xstr 内容 采集网页的content
* @param string $keyword 创建照片的文件名 我写upimg
* @param string $oriweb 网址 一般写null
* @return string
*
*/
function replaceimg($xstr,$keyword, $oriweb){
$basedir = dirname(__FILE__);
   //保存路径
   $d = date('Ym', time());
   $dirslsitss = $basedir.'/../uploads/'.$keyword.'/'.$d;//分类是否存在
   if(!is_dir($dirslsitss)) {
       @mkdir($dirslsitss, 0777);
   }
   //匹配图片的src
   preg_match_all('#]*>#i', $xstr, $match);
   foreach($match[1] as $imgurl){
       $imgurl = $imgurl;
       if(is_int(strpos($imgurl, 'http'))){
           $arcurl = $imgurl;
       } else {
           $arcurl = $oriweb.$imgurl;        
       }
       $img=file_get_contents($arcurl);
       if(!empty($img)) {
           //保存图片到服务器
           $fileimgname = time()."-".rand(1000,9999).".jpg";
           $filecachs=$dirslsitss."/".$fileimgname;
           $fanhuistr = file_put_contents( $filecachs, $img );
           $saveimgfile = "/uploads/$keyword"."/".$d."/".$fileimgname;
           $xstr=str_replace($imgurl,$saveimgfile,$xstr);
       }
   }
   return $xstr;
}


  • 用微信  “扫一扫”

    将文章分享到朋友圈。

    关注公众号:xue-jiqiao

本文版权归原作者所有,转载请注明原文来源出处,学技巧网站制作感谢您的支持!