www.adminn.cn
站长正能量分享网!

php 正则提取文章中的图片,并替换、移动图片目录

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

上传图片时,上传的图片并没有全部用到,那么可以设置上传时只存到临时文件夹里面,文章发布的时候把真正用到的图片移动到有用的目录里,这样定期清理无用目录就可以了,代码如下:

  1. //转移临时文件夹中的图片 
  2.     $imgssss = preg_match_all("/linshi/[^s'"]+.jpg|png|gif|jpeg{1}/ui",$content,$imgss); 
  3.     $i=1; 
  4.     foreach($imgss as $aimg){ 
  5.     if(is_string($aimg)){ 
  6.     if (file_exists($aimg)){ 
  7.     $newdir = "upload/".date("ymdhis")."/"
  8.     if (!file_exists($newdir)){ 
  9.     mkdir($newdir,0755,true); 
  10.     } 
  11.     $newname = $newdir.date("ymdhis").$i.".".pathinfo($aimg,PATHINFO_EXTENSION); 
  12.     rename($aimg,$newname); 
  13.     $content = str_replace($aimg,$newname$content); 
  14.     } 
  15.     $i++; 
  16.     }elseif(is_array($aimg)){ 
  17.     foreach($aimg as $imga){ 
  18.     if (file_exists($imga)){ 
  19.     $newdir = "upload/".date("ymdhis")."/"
  20.     if (!file_exists($newdir)){ 
  21.     mkdir($newdir,0755,true); 
  22.     } 
  23.     $newname = $newdir.date("ymdhis").$i.".".pathinfo($imga,PATHINFO_EXTENSION); 
  24.     rename($imga,$newname); 
  25.     $content = str_replace($imga,$newname$content); 
  26.     } 
  27.     $i++; 
  28.     } 
  29.     } 
  30.     } 

如果只是移动单张图片比较简单,代码如下:

  1. $newdir = "upload/".date("ymdhis")."/"
  2. if (!file_exists($newdir)){ 
  3. mkdir($newdir,0755,true); 
  4. $newname = $newdir."s_".date("ymdhis").".".pathinfo($upimgurl,PATHINFO_EXTENSION); 
  5. rename($upimgurl,$newname);

文章转载来自老吧博客,原文地址为:http://www.lao8.org/article_1161/php_zhengzetiqutipianbingyidong.php

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php 正则提取文章中的图片,并替换、移动图片目录》
文章链接:https://www.adminn.cn/news/6869.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏