如何在php中限制表单提交的文件上传大小[重复]
Posted
技术标签:
【中文标题】如何在php中限制表单提交的文件上传大小[重复]【英文标题】:How to limit file upload size on form submission in php [duplicate] 【发布时间】:2020-07-03 00:54:26 【问题描述】:我有一个表单,我希望允许文件小于或等于 50 MB。但是当我上传 1.60 MB 的文件时,它说最大文件大小请少上传。有什么建议吗?
文件大小为 1.60 MB,如果我打印文件数组,它显示 size = 1686220
// Attempt 1
if (!filesize($file_path) < 50000)
// max file size limit reached
// Attempt 2
if (!$file['size'] < 50000)
// max file size limit reached
【问题讨论】:
根据 Web 服务器,您可能还需要单独配置。例如:nginx 有client_max_body_size
设置。
我不想编辑 php.ini 文件。我想在提交表单时检查文件大小。
【参考方案1】:
您也可以在提交之前使用jquery
进行操作:
<form action="upload" enctype="multipart/form-data" method="post">
Upload image:
<input id="image-file" type="file" name="file" />
<input type="submit" value="Upload" />
<script type="text/javascript">
$('#image-file').bind('change', function()
alert('This file size is: ' + this.files[0].size/1024/1024 + "MB");
);
</script>
</form>
使用 PHP:
if (isset ( $_FILES['file'] ) )
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
if (($file_size > 50*1024*1024))
$message = 'File too large. File must be less than 50 MB.';
echo '<script type="text/javascript">alert("'.$message.'");</script>';
【讨论】:
它有效,谢谢。你能解释一下你在 php 一上做了什么以及我做错了什么吗?再次感谢。 @KevinJ 请检查您的小于符号它应该大于... :)以上是关于如何在php中限制表单提交的文件上传大小[重复]的主要内容,如果未能解决你的问题,请参考以下文章