如何使用 PHP 从文件夹中删除文件

使用目录迭代器 DirectoryIterator

在这种方法的框架中,需要使用 DirectoryIterator 创建一个文件列表。
然后,迭代它。
之后,我们应该在测试目录是否包含点的过程中验证文件。
最后,应用 getPathName 方法引用,使用 unlink() 删除文件。

下面是一个例子:

<?php
//需要清空的文件夹路径
$folder_path = 'myonitroad/';

//遍历所有文件
$dir = new DirectoryIterator(dirname($folder_path));

//删除dir中所有文件
foreach ($dir as $fileinfo) {

    if (!$fileinfo->isDot() && $fileinfo->isFile()) {

        //删除文件
        unlink($fileinfo->getPathname());
    }
}
?>

使用 glob() 方法

让我们看看使用这种方法删除文件需要采取哪些步骤。
首先,我们应该使用 glob() 方法创建一个文件列表。
第二步是对该列表的迭代。
然后,我们应该检查它是否是文件。
最后,是时候使用 unlink() 方法删除给定的文件了。

下面是一个例子:

<?php
//要删除的目录路径
$folder_path = "myonitroad";

//列出特定文件夹内的文件
//
$files = glob($folder_path.'/*'); 

//删除列表中的所有文件
foreach($files as $file) {

    if(is_file($file)) 

        //Deleting the given file
        unlink($file); 
}
?>

或者我们可以选择为 glob() 方法应用短代码。
首先,需要使用 glob() 方法创建文件列表。
下一步是实现 array_filter() 方法。
然后,使用 array_map 将列表映射到 unlink() 方法。

以下是如何做到这一点:

//删除给定文件夹内的所有文件
array_map('unlink', array_filter(glob("myonitroad/*"), 'is_file'));  
?>
日期:2020-06-02 22:15:58 来源:oir作者:oir