【发布时间】:2011-08-31 15:37:34
【问题描述】:
我正在尝试使用 php://input 从 php 读取原始输入流。这适用于大多数文件,但是上传时会忽略超过 4MB 的文件。我已将 post_max_size 和 upload_max_size 设置为 20M,每个都认为它可以解决我的问题,但事实并非如此。是否需要配置另一个 php.ini 设置,或者我是否需要进行某种分块?如果是这样,我将如何去做?这是upload.php代码:
$fileName = $_SERVER['HTTP_X_FILE_NAME'];
$contentLength = $_SERVER['CONTENT_LENGTH'];
file_put_contents('uploads/' . $fileName, file_get_contents("php://input"));
【问题讨论】:
-
仅供参考...我通过 xmlhttprequest 发送文件,通过 send 方法传递一个文件对象。
-
我想通了。 php 内存不足,无法将整个文件放入缓冲区,因此我使用 php.ini memory_limit 变量增加了内存限制。它有效,但它似乎不是最好的解决方案。如果有人知道如何将 php://input 流分段读取到文件中,这样它就不会耗尽内存限制,请告诉我!谢谢
标签: php input upload inputstream