php 正则提取文章中的图片,并替换、移动图片目录
上传图片时,上传的图片并没有全部用到,那么可以设置上传时只存到临时文件夹里面,文章发布的时候把真正用到的图片移动到有用的目录里,这样定期清理无用目录就可以了,代码如下:
- //转移临时文件夹中的图片
- $imgssss = preg_match_all("/linshi/[^s'"]+.jpg|png|gif|jpeg{1}/ui",$content,$imgss);
- $i=1;
- foreach($imgss as $aimg){
- if(is_string($aimg)){
- if (file_exists($aimg)){
- $newdir = "upload/".date("ymdhis")."/";
- if (!file_exists($newdir)){
- mkdir($newdir,0755,true);
- }
- $newname = $newdir.date("ymdhis").$i.".".pathinfo($aimg,PATHINFO_EXTENSION);
- rename($aimg,$newname);
- $content = str_replace($aimg,$newname, $content);
- }
- $i++;
- }elseif(is_array($aimg)){
- foreach($aimg as $imga){
- if (file_exists($imga)){
- $newdir = "upload/".date("ymdhis")."/";
- if (!file_exists($newdir)){
- mkdir($newdir,0755,true);
- }
- $newname = $newdir.date("ymdhis").$i.".".pathinfo($imga,PATHINFO_EXTENSION);
- rename($imga,$newname);
- $content = str_replace($imga,$newname, $content);
- }
- $i++;
- }
- }
- }
如果只是移动单张图片比较简单,代码如下:
文章转载来自老吧博客,原文地址为:http://www.lao8.org/article_1161/php_zhengzetiqutipianbingyidong.php
- $newdir = "upload/".date("ymdhis")."/";
- if (!file_exists($newdir)){
- mkdir($newdir,0755,true);
- }
- $newname = $newdir."s_".date("ymdhis").".".pathinfo($upimgurl,PATHINFO_EXTENSION);
- rename($upimgurl,$newname);