繁体   English   中英

PHP删除目录和任何子目录中所有空文件

[英]PHP Delete all files that are empty in a Directory and any sub directories

这是我所拥有的,但是没有用,也没有给我错误:

$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);
    }
}

它会删除空文件(或小于1kb的文件,但尝试访问目录时出现错误,提示每个目录都拒绝权限,因此它不会删除空目录或子目录中的文件。

empty($file)不检查$file file引用的$file是否为空,而是检查变量 $file为空。 即,如果$file包含空字符串""nullempty($file)将返回true。 由于$file包含非空字符串( empty($file) ,因此无论文件内容如何, empty($file)始终返回false。 您要检查filesize($file)是否为零。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM