PHP put - 文件大小?

标签 php put

我试图通过 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/

相关文章:

php - 在上传到目录之前调整图像大小

php - Laravel 5 无需密码登录

http - HTTP PUT 应该如何工作

php - Laravel Form PUT 方法不起作用

c# - json转c#反序列化

PHP 5 和 "& new"

php - 在 WooCommerce 3 中将结帐订单备注字段移动到 "create an account"上方

rest - 对于未导致任何更改的 HTTP PUT REST 调用,我应该返回什么?

java - Android Put方法错误

javascript - 更新数据库对象中的特定字段 | Axios、Redux 形式