本文章来给大家列举一些常用的 php 正则提取文章中的图片, 并替换移动图片目录代码, 希望此文章对大家会有所帮助
上传图片时, 上传的图片并没有全部用到, 那么可以设置上传时只存到临时文件夹里面, 文章发布的时候把真正用到的图片移动到有用的目录里, 这样定期清理无用目录就可以了
- <?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++;
- }
- }
- }
- ?>
如果只是移动单张图片比较简单:
- <?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);
- ?>
来源: https://www.php1.cn/detail/php-cd1db7fa30.html