【问题标题】:How to detect if file is completly copied PHP如何检测文件是否完全复制PHP
【发布时间】:2015-12-05 18:56:36
【问题描述】:

我已经尝试了多种方法来检测文件是否尚未完成并且仍在被复制。但是

    $filemtimeNOW   =   date("F d Y H:i:s.", filemtime($tempPath."files/". "test.csv"));
    sleep(20);
    $filemtimeLATER =   date("F d Y H:i:s.", filemtime($tempPath."files/". "test.csv"));
    echo   $filemtimeNOW . "<br>";
    echo   $filemtimeLATER . "<br>";
    sleep(10);
        if ($filemtimeNOW  == $filemtimeLATER)
        echo   $filemtimeNOW. "finished" ;
        else 
        echo   $filemtimeNOW. "still being copied" ;

结果是

1449338332 1449338332 1449338332完成

即使文件仍在通过 ftp 上传,它也会显示总文件大小 我也尝试过使用日期时间,但仍然存在同样的问题 希望有人有想法

【问题讨论】:

  • 上......

标签: php file upload filesize filetime


【解决方案1】:

您可以尝试使用文件大小,而不是睾丸:

$filesizeNOW   =   filesize($tempPath."files/". "test.csv");
sleep(20);
$filesizeLATER =   filesize($tempPath."files/". "test.csv");
echo   $filesizeNOW . "<br>";
echo   $filesizeLATER . "<br>";
sleep(10);
    if ($filesizeNOW  == $filesizeLATER)
    echo   $filesizeNOW. "finished" ;
    else 
    echo   $filesizeNOW. "still being copied" ;

【讨论】:

  • 我刚刚尝试过警告:filesize(): stat failed for /home/..../test.csv in /home/.../scrap.php on line 21 January 01 1970 01 :00:00。 1970 年 1 月 1 日 01:00:00。 1970 年 1 月 1 日 01:00:00.finished
  • 于 2015 年 12 月 5 日 20:25:14 完成。 2015 年 12 月 5 日 20:25:14。 2015 年 12 月 5 日 20:25:14.finished
  • 很奇怪,因为我可以看到上传文件时它在 filezilla 中增加,但要实时获取修改日期或其他东西
  • 为什么当filesize返回一个int时,代码会返回一个日期?
  • 现在我从函数中删除了日期,得到了 14929056 14929056 14929056finished
猜你喜欢
  • 1970-01-01
  • 2010-11-12
  • 2013-09-11
  • 2017-04-29
  • 2012-04-15
  • 2017-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多