ホームページ >php教程 >php手册 >php 正则提取文章中的图片,并替换、移动图片目录

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

WBOY
WBOYオリジナル
2016-05-25 16:54:341533ブラウズ

本文章来给大家列举一些常用的php 正则提取文章中的图片,并替换、移动图片目录代码,希望此文章对大家会有所帮助。

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

<?php
//转移临时文件夹中的图片
$imgssss = preg_match_all("/linshi/[^\s\&#39;\"]+.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++;
        }
    }
}
?>

如果只是移动单张图片比较简单:

<?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);
?>


教程网址:

欢迎收藏∩_∩但请保留本文链接。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。