在上传不成功的情况下,当上传文件大于10M(大概数)时就会报错,而不是根据程序提示,但小一点的文件如2M的就会按程序提示错误。求解
---------------------------html---------------------------------
<html>
<head>
<title>upload</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
shopname:<input type="tetx" name="shopname"><br>
price:<input type="tetx" name="price"><br>
shopnum:<input type="tetx" name="num"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="20000000">
shopnum:<input type="file" name="file"><br>
<input type="submit" name="sub"><br>
</form>
</body>
</html>
------------------------------------------------php------------------------------------------
if($_FILES["file"]["error"]>0){
switch($_FILES["file"]["error"]){
case 1:
echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 ";
break;
case 2:
echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 ";
break;
case 3:
echo "文件只有部分被上传。 ";
break;
case 4:
echo "没有文件被上传。";
break;
default:
echo "未知错误";
}
exit;
}
----------------------------错误---------------------------
( ! ) Notice: Undefined index: file in C:\wamp\www\j_filesystem\upload.php on line 8
Call Stack
#
Time
Memory
Function
Location
1 0.0036 251688 {main}( ) ..\upload.php:0
一、超过10M,在php底层处理请求时就直接报错了,根本执行不到你switch的地方,所以报错是非预期的
二、超过2M,php能正常执行,所以会按照你switch来报错
这里,你要搞清楚php的上传文件大小限制跟form表单上传文件大小限制的关系追问
但是我php.ini里面设置的是
file_uploads = on
upload_max_filesize= 20M
post_max_size = 20M
please!!!!!!!!!!
我好像记得php要改三四个地方,具体你再搜搜哪几处吧,你没改全