删除目录中的空(0长度)文件

时间:2012-11-12 17:38:15

标签: php

下面的php脚本选择并详细说明特定目录中包含的所有.txt文件。首先,在脚本调用read.php之后,将文件复制到名为“copy”的子目录中,以便对文件进行分析和详细说明。最后,可以从主目录中删除相同的文件。 这是对文件夹中的所有文件完成的,直到它们结束。

问题:遗憾的是,当找到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>";  
 }
 ?>

1 个答案:

答案 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>";  
    }
 }