PHP删除目录和任何子目录中的所有空文件
这是我所拥有的,但它不起作用,也没有给我一个错误:PHP删除目录和任何子目录中的所有空文件,php,Php,这是我所拥有的,但它不起作用,也没有给我一个错误: $MyDir = "C:/some_folder/"; // DELETE ALL EMPTY FILES $filesDVA = glob($MyDir.'*'); // get all file names foreach($filesDVA as $file){ // iterate files if(empty($file)) unlink($file); // delete file } 我想删除主目录和子目录中的空
$MyDir = "C:/some_folder/";
// DELETE ALL EMPTY FILES
$filesDVA = glob($MyDir.'*'); // get all file names
foreach($filesDVA as $file){ // iterate files
if(empty($file))
unlink($file); // delete file
}
我想删除主目录和子目录中的空文件,如果可能的话,检查目录是否也是空的,是否也是删除的
更新:
foreach (glob($MyDir . '*') as $file) {
if (is_writable($file) && filesize($file) < (1024 * 1)) {
unlink($file);
}
}
foreach(glob($MyDir.*')作为$file){
如果(可写($file)&&filesize($file)<(1024*1)){
取消链接($文件);
}
}
它删除空文件(或小于1kb的文件,但在尝试访问目录时出错,表示每个目录的权限被拒绝,因此它不会删除空目录或子目录中的文件。
empty($file)
不会检查$file
引用的文件是否为空,它会检查变量$file
是否为空。例如,如果$file
包含空字符串”
或null
,则empty($file)
将返回true。因为$file
包含非空字符串(文件名),empty($file)
将始终返回false,无论文件内容如何。您要检查是否为零。empty($file)
不会检查$file
引用的文件是否为空,它会检查变量$file
是否为空。例如,如果$file
包含空字符串”
或null
,则empty($file)
将返回true。因为$file
包含非空字符串(文件名),empty($file)
将始终返回false,无论文件内容如何。您要检查该值是否为零。删除前还需要检查文件是否存在如果其他语法正确,$file将永远不会为空。请尝试if(empty(file\u get\u contents($file)))删除前还需要检查文件是否存在如果其他语法正确,$file将永远不会为空。请尝试使用if(empty(file\u get\u contents($file)))谢谢你的帮助。我更新了我的代码,可以删除文件,但不会删除空目录或子目录中的空文件。请参阅上面更新的代码。你需要rmdir()
删除目录。如果你想递归,你可以使用该类。好的,现在我完全迷路了…让我看看我是否能解决这个问题…或者你是否有时间给我写一个例子。谢谢你的帮助。我更新了我的代码,可以删除文件,但不会删除空目录或子目录中的空文件es。请查看上面更新的代码。您需要rmdir()
来删除目录。如果您想要递归,您可以使用该类。好的,现在我完全迷路了…让我看看是否可以解决这个问题…或者您是否有时间给我写一个示例。