PHP头条
热点:

php文件上传有关问题


php文件上传问题
header('Content-Type: text/html; charset=GBK');
echo '
';
print_r($_FILES);
echo '
';
echo  '
';
if ($_FILES['userfile']['error'] > 0) {
switch ($_FILES['userfile']['error']) {
case 1: echo "《script》alert('上传文件超过约定值1');history.back();《script》";
break;
case 2: echo "《script》alert('上传文件超过约定值2');history.back();《script》";
break;
case 3: echo "《script》alert('部分被上传');history.back();《script》";
break;
case 4: echo "《script》alert('没有任何文件被上传');history.back();《script》";
break;
}
exit;
}
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if(!move_uploaded_file($_FILES['userfile']['tmp_name'],'uploads/'.$_FILES['userfile']['name']))
{
echo "《script》alert('移动失败!');history.back();《script》";
exit;
}

}else {
echo "《script》alert('临时文件夹找不到上传的文件');history.back();《script》";
exit;
}
echo "《script》alert('文件上传成功!');location.href='Demo3.php?url=".$_FILES['userfile']['name']."';《script》";
?>为什么上传小文件就能正确上传,并且能显示$_FILES的全部信息,但是上传大文件时候,不会显示S_FILES信息,打印出是“Array()”,而且能绕过if ($_FILES['userfile']['error'] > 0)语句,直接提示'临时文件夹找不到上传的文件'的信息,请高手解答为什么会出现这个现象? PHP 分享到:
------解决方案--------------------
你的php.ini 中 max_file_uploads post_max_size memory_limit 这几个参数的值是多少,你上传的文件的大小不能超过这个值。
------解决方案--------------------
就和楼上说的一样,你上传的文件超过了INI里最大文件的大小限制,这种情况下文件时传不上去的,也就是$_FILES['name']会是空数组,当然$_FILES['name']['error']就不会大于0,就直接跳到后面去了

最好的解决办法是切割上传,不要一次性全部上传,可以用ajax来分割文件
------解决方案--------------------
没有设置 post_max_size ,则它就会用默认值8M,你的大文件肯定超过了8M,所以$_FILES就会为空。

www.phpzy.comtrue/phprm/8955.htmlTechArticlephp文件上传有关问题 php文件上传问题 header('Content-Type:text/html;charset=GBK'); echo' '; print_r($_FILES); echo' '; echo' '; if($_FILES['userfile']['error']>0){ switch($_FILES['userfile']['error']){ case1:echo"《script》al...

相关文章

相关频道:

PHP之友评论

今天推荐