簡體   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