2012-11-12 51 views
0

下面選擇PHP腳本和闡述逐個包含在特定目錄中的所有.txt文件。首先,在腳本調用read.php之後,將文件複製到名爲「copy」的子目錄中,以便對文件進行分析和闡述。最後可以從主目錄中刪除同一個文件。 這是爲了完成文件夾中的所有文件,直到它們結束。刪除空(長度爲0的)目錄中的文件

問題:不幸的是,當一個0 KB文件(空)被發現,該腳本將停止。可能問題是read.php,但我無法修改這個。所以我想自動刪除這些不需要的空文件,以便定期進行這個過程。

有什麼建議嗎? TNX

<?php 
$files = glob('*.txt'); 
array_multisort(
    array_map('filemtime', $files), 
    SORT_NUMERIC, 
    SORT_ASC, 
    $files 
); 

$filename="$files[0]"; 
foreach($files as $filename) { 

    copy($filename,"./copy/$filename"); 
    echo "<b> $filename </b>File copied<br>"; 

    include ("read.php"); 

    sleep(4); 

    unlink($filename); 
    echo "$filename elaborated and deleted from the main folder.<br>"; 
} 
?> 
+0

在一個循環'include'?嗯...有人沒有正確設計'read.php'。 :( –

+0

我不認爲「闡述了」是什麼意思,你認爲它的意思。 –

+0

是否有錯誤則終止? –

回答

1

使用filesize() - http://php.net/manual/en/function.filesize.php - 以確定該文件的大小,並刪除任何爲零。

$filename="$files[0]"; 
foreach($files as $filename) { 
    if (filesize($filename) > 0) 
    { 
     copy($filename,"./copy/$filename"); 
     echo "<b> $filename </b>File copied<br>"; 

     include ("read.php"); 

     sleep(4); 

     unlink($filename); 
     echo "$filename elaborated and deleted from the main folder.<br>"; 
    } else { 
     unlink($filename); 
     echo "$filename is empty and deleted.<br>"; 
    } 
} 
+0

它完美!我非常感謝你的好意。問候。 – mattew