欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php 替换文章中的图片路径,下载图片到本地服务器的方法

程序员文章站 2022-03-06 12:37:15
...

php 替换文章中的图片路径,下载图片到本地服务器

/**
* 获取替换文章中的图片路径
* @param string $xstr 内容
* @param string $oriweb 网址
* @return string
*
*/
function replaceimg($xstr, $oriweb){
 //保存路径
 $d = date('Ymd', time());
 $saveimgfile_1 = '/uploads/allimg/'.$d;
 $dirslsitss = DEDEROOT.$saveimgfile_1;//分类是否存在
 if(!is_dir($dirslsitss)) {
   @mkdir($dirslsitss, 0777);
 }
 //匹配图片的src
 preg_match_all('#<img.*?src="([^"]*)"[^>]*>#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 = $saveimgfile_1."/".$fileimgname;
     $xstr=str_replace($imgurl,$saveimgfile,$xstr);
   }
 }
 return $xstr;
}