我可以无误地上传其他文件。但每当我尝试在php中上传rtf文件时它都会失败。我的代码如下:
if(isset($_POST['pid'])){
if($_FILES['uploadname']['name']==''){
//Failed
}else{
//upload the file
}
}
HTML表单:
<form method="post" enctype="multipart/form-data">
<input type="file" accept=".csv,.doc,.pdf,.docx,.xls,.xlsx,.rtf,.txt, image/*"
name="uploadname" style="width:100%;">
<input type="hidden" name="pid" value="<?php echo $id; ?>">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max; ?>">
</form>
$ max = 62914560字节
我得到了未定义的索引uploadname
服务器日志:
PHP警告:POST Content-Length为24783980字节超过了第0行的Unknown中的8388608字节限制
我上传相同的文件(使用msword重新保存为doc格式)没有问题。但是当涉及到rtf它失败了。我可以上传其他文件,如doc,docx,xls,xlsx,pdf,txt和所有图像文件,没有问题。可能是什么问题呢。我正在使用php 7.1.19谢谢
MAX_FILE_SIZE隐藏字段(以字节为单位)必须位于文件输入字段之前,其值是PHP接受的最大文件大小。应始终使用此表单元素,因为它可以节省用户等待传输大文件的麻烦,只是发现它太大而传输失败。请记住:在浏览器端愚弄此设置非常简单,因此不要依赖此功能阻止更大尺寸的文件。它仅仅是应用程序客户端用户的便利功能。
您在文件输入后放置该字段,因此将被忽略。
但是,最大大小的PHP设置(在服务器端)不能被愚弄。
...看起来您的服务器端配置无论如何都设置为较低的值,因此您需要增加它。