<form action="" method="get" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" value="上传">
<?php 
            /*$file = fopen("PHp.txt", "r");
            $filesize = filesize("PHp.txt");
            echo fread($file,$filesize);
            fclose($file);
            */
//判断上传的文本的值是否为空
if($_FILES['file']['name']!=null)
{
//判断是否有错
if($_FILES['file']['error']>0)
{
//判断是哪种错误
switch ($_FILES['file']['error'])
{
case 1:
echo "文件超出了2MB!";
break;
case 2:
echo "文件大小超出了浏览器限制!";
break;
case 3:
echo "文件部分被上传!";
break;
case 4:
echo "没有找到要上传的文件!";
break;
case 5:
echo "服务器临时文件夹丢失,请重新上传!";
break;
case 6:
echo "文件写入到临时文件夹出错!";
break;
}
}
else 
{
//判断上传类型和限制上传类型的大小
if($_FILES['file']['type']=='image/jpeg' || $_FILES['file']['type']=='image/pjgeg'||$_FILES['file']['type']=='image/gif'&&
$_FILES['file']['size']<20480)
{
//判断上传的文件是否已存在
if(!file_exists("uploads/".$_FILES['file']['name']))
{
//将上传的文件生成一个临时副本名称,再上传至“uploads”文件夹内
move_uploaded_file($_FILES['file']['tmp_name'],"uploads/".$_FILES['file']['name']);
echo "<script>alert(上传成功!);</script>";
}
else 
{
echo "<script>alert(上传的文件已存在!);</script>";
}
}
else 
{
//若文件大于2MB
echo "<script>alert(请上传小于2MB的jpeg或Gif类型的附件!)";
}
}
}
else 
{
echo "<script>alert(上传的文件不能为空!);</script>";
}
?>
</form>

解决方案 »

  1.   

    上传文件必须是 post 方式
      

  2.   

    我用Post也是同样的,我直接点击上传,都没有上传东西,上传的按钮一点作用都没有!!
      

  3.   

    php.ini中打开错误提示:
    display_errors=On
    error_reporting=E_ALL & ~NOTICE 看提示什么错误。另外判断文件是否已存在时。upload目录是先建好的吗?如果否,则先建立目录。
      

  4.   

    你的form中的action指向要处理的php页面
    <form name="form" action="xxx.php" method="post" enctype="multipart/form-data">
    然后
    print_r($_FILES['file']);
    看看输出什么