Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中检测文件\u put\u contents()的结束?_Php_File_Detect - Fatal编程技术网

如何在php中检测文件\u put\u contents()的结束?

如何在php中检测文件\u put\u contents()的结束?,php,file,detect,Php,File,Detect,在PHP中,我将使用file\u put\u contents($filename,$data)编写(创建)文件 可以,但我想检测流程的完成事件。 当前,页面显示加载状态。 这是目前我可以知道它是否完成的方式。 我想用代码进行检测。这是一个阻塞的I/O调用,因此它在函数调用返回时结束。返回值是(成功时)写入的字节数。它会将所有内容挂起,直到结束 因此,您可以使用类似这样的方法来确定它何时完成了文件的编写 echo "The file's contents are now being writ

在PHP中,我将使用
file\u put\u contents($filename,$data)编写(创建)文件
可以,但我想检测流程的完成事件。

当前,页面显示加载状态。
这是目前我可以知道它是否完成的方式。


我想用代码进行检测。

这是一个阻塞的I/O调用,因此它在函数调用返回时结束。返回值是(成功时)写入的字节数。

它会将所有内容挂起,直到结束

因此,您可以使用类似这样的方法来确定它何时完成了文件的编写

echo "The file's contents are now being written, please wait.";
file_put_contents($filename, $data);
echo "The file's contents have been written.";

首先从远程位置检索
内容长度
标题。你可以用它来做。像这样:

$headers = get_headers($url, 1);
echo "To download: " . $headers['Content-Length'] . " bytes.<br />";
$headers=get_headers($url,1);
echo“下载:”$标题['Content-Length']。“字节。
”;
Ok现在我看到“file\u put\u contents()”在结束时返回文件大小。此外,我可以检测“之前”的大小吗??我使用了:“file_get_contents()”。如果是这样,我可以检测进程是否成功写入所有字节(或未写入)。可以通过调用
filesize()
确定文件大小(之前或之后)。它不起作用。。我使用
$file=file\u get\u contents($path)
然后
echo“Size”写入:“.filesize($file)
阅读
filesize()的文档。它需要文件的路径,而不是文件的内容@阿尔文:仅供参考,您可以编辑您的原始问题;不需要新的:)对于代码,在代码周围使用反勾号(`)。这会一直有效吗?或者,是否存在web应用程序或服务器拒绝只提供标题的情况?get_headers方法发送HEAD还是get?wooooow!对非常感谢minitech!;)我不认为服务器可以拒绝发送某些内容的头。从页面上看:“如果有人像我一样好奇,这个函数不会发送一个HEAD动词。相反,它会发送一个GET。在我的情况下,这并不理想,因为我需要一种快速的方式来获取HTTP状态(200、404等)。GET的问题是,对于像我这样的情况,我不希望返回的数据产生所有开销。”@Ancide:No,它在获得标题后取消。(我相信,这个人所说的“开销”是指“其余的标题”)@minitech我用一个定制的套接字解决方案测试了这个问题,使用HEAD而不是GET,就像你说的,“开销”=“其余的标题”。只是想让每个人都知道:)可能是重复的。。也许这个链接很有用