异步上传文件以及php对文件的处理

来源:互联网 发布:360智能摄像机软件 编辑:程序博客网 时间:2024/05/16 05:10
通过隐藏的iframe来实现异步上传

html代码:
<form name='edit_form' action="" method="POST" enctype="multipart/form-data" target='upload_file'>
<input name="userfile" id="userfile"  type="file" />

    <input type="hidden" name="MAX_FILE_SIZE" value="2097152">
<input type='submit' value='提交'>&nbsp;&nbsp;<input type='reset' name='reset'>
</form>
<iframe src="" name="upload_file" width="0" height="0" style="display:none;"></iframe>

=========================================================================================================
php代码:
            $uploaddir  = "upload/img/";
            $ext = substr(strrchr($_FILES['userfile']['name'], '.'), 1);
            $uploadfile = $uploaddir.time().rand(0,999).".".$ext;
            if($_FILES['userfile']['type'] == 'image/jpeg' || $_FILES['userfile']['type'] == 'image/gif')
            {
                
            }
            else
            {
                echo "<script>alert('错误的文件类型!');</script>";
                exit;
            }
            
            switch ($_FILES["userfile"]["error"])
            {
                case 0:
                    if (file_exists($uploadfile))
                    {
                        echo "<script>alert('".$_FILES["userfile"]["name"]."已存在"."');</script>";
                        break;
                    }
                    else
                    {
                        
                        if(move_uploaded_file($_FILES["userfile"]["tmp_name"],$uploadfile))
                        {
                            echo "success";
                        }
                        else
                        {
                            echo "<script>alert('上传图片失败!');</script>";
                            break;
                        }
                    }
                case 1:
                    echo "<script>alert('大小超过upload_max_filesize限制!');</script>";
                    break;
                case 2:
                    echo "<script>alert('大小超过MAX_FILE_SIZE限制!');</script>";
                    break;
                case 3:
                    echo "<script>alert('文件只有部分被上传!');</script>";
                    break;
                case 6:
                    echo "<script>alert('找不到临时文件夹!');</script>";
                    break;
                case 7:
                    echo "<script>alert('文件写入失败!');</script>";
                    break;
            }