tp5框架 定时清理文件夹下的图片

<?php
/**
 *
 * Created by PhpStorm.
 * Date: 2024/6/24
 * Time: 14:47
 */

namespace app\common\command;//命名空间

use http\Exception\InvalidArgumentException;
use RecursiveDirectoryIterator;
use RecursiveIteratorIterator;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\exception\ErrorException;

class FacialVerificationFileCleanup extends Command
{
    protected function configure()
    {
        $this->setName('fileCleanup')
            ->addArgument('name', Argument::OPTIONAL, "your name")
            ->addOption('city', null, Option::VALUE_REQUIRED, 'city name')
            ->setDescription('Say Hello');
    }

    protected function execute(Input $input, Output $output)
    {
        $output->writeln("Hello,thinkphp" . '! 开始清理文件。');

        $targetDir = app()->getRootPath() . '/public/uploads/sign/';

        try {
            $this->deleteDirectory($targetDir);
        } catch (ErrorException $e) {
            $output->writeln("Error deleting $targetDir: " . $e->getMessage());
        }

        $output->writeln("Hello,thinkphp" . '! 人脸核验文件清理完毕。时间:' . date('Y-m-d H:i:s'));
    }

    /**
     * deleteDirectory
     * 递归清理文件及文件夹
     * @param $dir
     */
    function deleteDirectory($dir)
    {
        if (!is_dir($dir)) {
            throw new InvalidArgumentException("$dir must be a directory");
        }
        if (substr($dir, strlen($dir) - 1, 1) != '/') {
            $dir .= '/';
        }
        $files = new RecursiveIteratorIterator(
            new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
            RecursiveIteratorIterator::CHILD_FIRST
        );
        foreach ($files as $file) {
            if ($file->isDir()) {
                rmdir($file->getRealPath());
            } else {
                unlink($file->getRealPath());
            }
        }
//        $files = glob($dir . '*', GLOB_MARK);
//        foreach ($files as $file) {
//            if (is_dir($file)) {
//                self::deleteDirectory($file);
//            } else {
//                unlink($file);
//            }
//        }
//        rmdir($dir);
    }
}

//app/command
return [
    'app\common\command\FacialVerificationFileCleanup',
];

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值