【发布时间】:2011-05-22 00:48:23
【问题描述】:
在 PHP 中,我将使用 file_put_contents($filename, $data); 编写(创建)文件
没关系,但我想检测进程的完成事件。
目前,页面处于加载状态。
这是目前我可以知道它是否完成的方式。
我想用代码检测。
【问题讨论】:
-
可能重复.. 也许这个链接有用stackoverflow.com/a/21842519/4519636
在 PHP 中,我将使用 file_put_contents($filename, $data); 编写(创建)文件
没关系,但我想检测进程的完成事件。
目前,页面处于加载状态。
这是目前我可以知道它是否完成的方式。
我想用代码检测。
【问题讨论】:
这是一个阻塞的 I/O 调用,所以它在函数调用返回时结束。返回值是写入的字节数(成功时)。
【讨论】:
filesize()来确定
$file = file_get_contents($path) 然后 echo "Size to Write: ".filesize($file)
filesize() 的文档。它需要文件的路径,而不是文件的内容。 us3.php.net/filesize
它会搁置一切直到结束
因此,您可以使用类似的方法来确定文件何时完成写入。
echo "The file's contents are now being written, please wait.";
file_put_contents($filename, $data);
echo "The file's contents have been written.";
【讨论】:
首先从远程位置检索Content-Length 标头。你可以使用get_headers 来做到这一点。像这样:
$headers = get_headers($url, 1);
echo "To download: " . $headers['Content-Length'] . " bytes.<br />";
【讨论】: