PHP 文件大小



我试图找出文件的大小 女巫 来自 php 中的放置请求。目前我像这样上传我的文件:

<?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);
?>

但是,如果 im 传输大文件并且有可能在中间取消上传,我想检查写入文件的大小是否与正在上传的文件的原始大小相同。怎么能做到这一点呢?

如果有人能向我解释一下这部分,那就太好了:

$putdata = fopen("php://input", "r");

在手册中,它是这样解释的:php://input 是一个只读流,允许您从请求正文读取原始数据。

但我真的不明白这一点。如果像这样读取文件是一点一点地读取还是一次读取整个文件?

谢谢。

据我所知,除非您也有客户端应用程序,否则无法可靠地执行此操作。 您可能需要在javascript中进行整个文件传输。

,有趣的问题。 如果我是你,我会这样做。

1. 在客户端:

使用 Java 脚本生成文件的 MD5 哈希并以您的表单发送

2. 在服务器端使用 PHP 生成 MD5 哈希

然后比较它们,如果两个哈希相同,则文件已成功上传,否则...

最新更新