我试图通过 php 中的 put 请求找出文件的大小。目前我正在上传我的文件,如下所示:
<?php
/* PUT data comes in on the stdin stream */
$putdata = fopen("php://input", "r");
/* Open a file for writing */
$fp = fopen("myputfile.ext", "w");
/* Read the data 1 KB at a time
and write to the file */
while ($data = fread($putdata, 1024))
fwrite($fp, $data);
/* Close the streams */
fclose($fp);
fclose($putdata);
?>
但是,如果我传输大文件,并且上传可能会在中间取消,我想检查写入的文件大小是否与上传文件的原始大小相同。怎么才能做到这一点?
如果有人可以向我解释一下这部分,那就太好了:
$putdata = fopen("php://input", "r");
手册中是这样解释的: php://input 是一个只读流,允许您从请求正文中读取原始数据。
但是我真的不明白这个。如果像这样读取文件,是一点一点地读取还是一次读取整个文件?
谢谢。
最佳答案
据我所知,除非您也有客户端应用程序,否则无法可靠地执行此操作。您可能需要在 JavaScript 中完成整个文件传输。
关于PHP put - 文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21919897/