PHP技术分享-久趣源码交流论坛

PHP技术分享

久趣社区【PHP学院】--一个专注用于游戏或者源码里的PHP实用性社区!
帖子
56
互动
6
阅读
833

[PHP编程] php删除指定扩展名文件的代码

<?php
/**
*@param $path文件夹绝对路径 $file_type待删除文件的后缀名
*return void
*/
function clearn_file($path, $file_type = 'bak')
{
    //判断要清除的文件类型是否合格
    if (!preg_match('/^[a-zA-Z]{2,}$/', $file_type)) {
        return false;
    }
    //当前路径是否为文件夹或可读的文件
    if (!is_dir($path) || !is_readable($path)) {
        return false;
    }
    //遍历当前目录下所有文件
    $all_files = scandir($path);
    foreach ($all_files as $filename) {
        //跳过当前目录和上一级目录
        if (in_array($filename, array(".", ".."))) {
            continue;
        }
        //进入到$filename文件夹下
        $full_name = $path . '/' . $filename;
        //判断当前路径是否是一个文件夹,是则递归调用函数
        //否则判断文件类型,匹配则删除
        if (is_dir($full_name)) {
            clearn_file($full_name, $file_type);
        } else {
            preg_match("/(.*)\.$file_type/", $filename, $match);
            if (!empty($match[0][0])) {
                echo $full_name;
                echo '<br>';
                unlink($full_name);
            }
        }
    }
}

//测试一下
$folderpath = $_SERVER["DOCUMENT_ROOT"] . "/abc";//要操作的目录
$deltype = array('gif', 'jpg', 'pdf');
foreach ($deltype as $file_type) {
    clearn_file($folderpath, $file_type);
}

 

请登录后发表评论

    没有回复内容