本文章來給大家列舉一些常用的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++;
}
}
}
如果只是移動單張圖片比較簡單:
代碼如下
復制代碼
$newdir = "upload/".date("ymdhis")."/";
if (!file_exists($newdir)){
mkdir($newdir,0755,true);
}
$newname = $newdir."s_".date("ymdhis").".".pathinfo($upimgurl,PATHINFO_EXTENSION);
rename($upimgurl,$newname);