PHP删除指定目录下面的所有文件

时间:2023年10月04日

/

来源:网络

/

编辑:佚名

可以使用PHP的glob()函数查找当前目录下的所有文件,然后使用循环语句逐个判断文件名是否需要删除,并使用unlink()函数删除不需要的文件。
以下是示例代码:
<?php
$files = glob("*"); // 查找当前目录下的所有文件
foreach($files as $file) {
    if(is_file($file) && $file != "1.php" && $file != "2.php") {
        unlink($file); // 删除不需要的文件
    }
}
?>
该代码首先使用glob("*")函数获取当前目录下的所有文件,然后使用循环语句逐个判断文件名是否需要删除。is_file()函数用于判断当前项是否为文件,$file != "1.php" && $file != "2.php"用于判断当前文件是否为需要保留的文件。如果当前文件不是需要保留的文件,则使用unlink()函数删除该文件。注意,unlink()函数会直接删除文件,因此需要谨慎使用。
当前目录下还有其他目录
如果当前目录下还有其他目录,需要对子目录进行递归处理,以确保所有不需要的文件都被删除。
以下是示例代码:
<?php
function deleteFiles($dir) {
    $files = glob("$dir/*"); // 查找当前目录下的所有文件和目录
    foreach($files as $file) {
        if(is_file($file) && $file != "$dir/1.php" && $file != "$dir/2.php") {
            unlink($file); // 删除不需要的文件
        } elseif(is_dir($file)) {
            deleteFiles($file); // 递归处理子目录
        }
    }
}
deleteFiles("."); // 删除当前目录下除了1.php和2.php之外的所有文件
?>
该代码定义了一个名为deleteFiles()的函数,该函数接受一个参数$dir,表示要删除文件的目录。函数首先使用glob("$dir/*")函数获取当前目录下的所有文件和目录,然后使用循环语句逐个判断文件名是否需要删除。如果当前项是一个文件并且不是需要保留的文件,则使用unlink()函数删除该文件。如果当前项是一个目录,则递归调用deleteFiles()函数处理该目录。
最后,使用deleteFiles(".")函数调用来删除当前目录下除了1.php和2.php之外的所有文件和子目录。
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。