0

下面的 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>";  
 }
 ?>
4

1 回答 1

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>";  
    }
 }
于 2012-11-12T17:40:59.623 回答