批量删除项目中无用的图片资源

我们在做网站开发时候经常会遇到项目中包含很多没用用到的无用文件,这些文件大量占用我们服务器或者空间资源,也不方便我们后期维护。所以需要删掉这些文件,如果一个一个删非常麻烦,我写了一个程序会自动检测项目中没用的图片并把他统一移到一个名叫delete的文件夹,然后一下子就删掉。之所以没用直接代码删掉,是为了考虑到有备份需求。

<?php
//读取文件夹中的所有文件名,并将其输出显示。
$root = 'project root folder';
//图片文件夹
$imgDir = $root . 'path to image folder';
//页面文件夹
$pageDir = $root . 'path to page folder';
//读取图片文件
$imgs = scandir($imgDir);

//读取页面文件
$pages = scandir($pageDir);


foreach ($imgs as $img) {
    if ($img != '.' && $img != '..') {
        $i = 0;
        $pageCount = 0;
        foreach ($pages as $file) {
            $page = $pageDir . DIRECTORY_SEPARATOR . $file;
            if (!is_dir($page)) {
                $content = file_get_contents($page);
                $pageCount++;
                //判断图片是否被引用
                if (strpos($content, $img) === false) {
                    $i = $i + 1;
                }
            }
        }
        //移动无用图片
        if ($i == $pageCount) {
            if (!is_dir($imgDir . DIRECTORY_SEPARATOR . 'delete')) {
                @mkdir($imgDir . DIRECTORY_SEPARATOR . 'delete');
            }
            rename($imgDir . DIRECTORY_SEPARATOR . $img, $imgDir . DIRECTORY_SEPARATOR . 'delete' . DIRECTORY_SEPARATOR . $img);
            echo $img . '被删除' . PHP_EOL;
        }
    }
}

echo '图片处理完毕,没用用到图片移到' . $imgDir . DIRECTORY_SEPARATOR . 'delete目录下' . PHP_EOL;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值