加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php输入流大小限制

发布时间:2020-12-13 13:28:51 所属栏目:PHP教程 来源:网络整理
导读:我试图使用php://输入从php读取原始输入流.这适用于大多数文件,但是,上传时会忽略超过4MB的文件.我已经将post_max_size和upload_max_size设置为20M,每个人都认为它可以解决我的问题,但事实并非如此.是否有另一个需要配置的php.ini设置,或者我需要进行某种类
我试图使用php://输入从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"));
尝试 stream_copy_to_stream,它直接将输入的内容泵入文件,而不是先将其全部复制到内存中:
$input = fopen('php://input','rb');
$file = fopen($filename,'wb');
stream_copy_to_stream($input,$file);
fclose($input);
fclose($file);

替代方案:

$input = fopen('php://input','wb');
while (!feof($input)) {
    fwrite($file,fread($input,102400));
}
fclose($input);
fclose($file);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读