标签:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <html><head>    <meta http-equiv="Content-Type"content="text/html; charset=UTF-8">    <title>title</title></head><body><!--  multipart/form-data 表示有文件上传   --><form  action="doAction_1.php"method="post"enctype="multipart/form-data">请选择你要上传的文件:    <input type="file"name="file">    <br>    <input type="submit"name="提交"></form></body></html> | 
php上传前台
| 1 | <!--  multipart/form-data 表示有文件上传   --> | 
后台使用 $_FILES接收的格式
| 1 2 3 4 5 6 7 8 9 10 11 12 | Array(    [file] => Array        (            [name] =>       文件的名字            [type] =>      文件的种类            [tmp_name] =>   文件的临时存储地点            [error] =>      错误号            [size] =>       文件的大小        )) | 
这里的error有 8中错误
// UPLOAD_ERR_OK Value: 0
当 error = 0 没有错误发生 文件上传成功
// UPLOAD_ERR_INI_SIZE Value: 1
当 error = 1 上传的文件超过了 php.ini 中 upload_max_filesize 的大小
// UPLOAD_ERR_FORM_SIZE Value: 2
当 error = 2 上传文件的大小超过了 html 表单中 max_file_size的大小
// UPLOAD_ERR_PARTIAL Value: 3
当 error = 3 文件只有部分被上传
// UPLOAD_ERR_NO_FILE Value: 4
当 error =4 没有文件被上传
// UPLOAD_ERR_NO_TMP_DIR Value: 6
当 error = 6 找不到临时文件
// UPLOAD_ERR_CANT_WRITE Value: 7
当 error = 7 临时文件写入失败
// UPLOAD_ERR_EXTENSION Value: 8
当 error =8 php 扩展程序被中断
后台代码
1,接收前台传过来的 doAction_1.php
| 1 2 3 4 5 6 7 8 9 | <?phpheader(‘content-type:text/html;charset=utf-8‘);//设置为UTF-8显示防止乱码 require_once‘upload.class.php‘;   $upload= newupload(‘file‘);//创建对象   $upload->uploadFile();    //$upload = new $upload();?> | 
使用面向对象的方法调用
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | <?phpclassupload{    protected$maxSize; //规定最大的上传大小    protected$fileName;  // 传过来的文件名称    protected$fileInfo; //    protected$name; //传过来的文件类型    protected$all; //所有的文件类型    protected$path;        //构造函数    publicfunction__construct($fileName=‘file‘,$path=‘uploads‘,$maxSize=‘999999‘,$all=array(‘txt‘,‘png‘,‘doc‘,‘jpg‘)){        //语句前面加上@ 可以去掉出错的语句        $this->fileName=$fileName;        $this->maxSize= $maxSize;        $this->all =$all;        $this->path=$path;        $this->fileInfo=$_FILES[$fileName];    }    //检查是否是HTTPPOST提交    protectedfunctioncheckHttpPost(){            if(!is_uploaded_file($this->fileInfo[‘tmp_name‘])){                    exit("文件不是通过HTTP POST传过来的");                    returnfalse;            }            returnture;    }    //检查是否报错    publicfunctioncheckError(){        //$i=1;         switch($this->fileInfo[‘error‘]){                        case1:                                $this->error= ‘当 error = 1 上传的文件超过了 php.ini 中 upload_max_filesize 的大小‘;                                //echo 123;                            break;                        case2:                                $this->error= "当 error = 2 上传文件的大小超过了 html 表单中 max_file_size的大小";                            break;                        case3:                                $this->error= "当 error = 3 文件只有部分被上传";                            break;                        case4:                                $this->error=‘当 error =4 没有文件被上传‘;                            break;                          case6:                                $this->error="当 error = 6 找不到临时文件";                            break;                        case7:                                $this->error ="系统错误";                        case8:                                $this->error ="系统错误";                                            }            }    //检查是否超过规定大小    protectedfunctioncheckSize(){            if($this->fileInfo[‘size‘]>$this->maxSize){            echo"checksize";            //$this->error=‘上传文件过大‘;            returnfalse;        }        returntrue;            }    //检查文件类型    protectedfunctioncheckKind(){         $this->name= end(explode( ".",  $this->fileInfo[‘name‘]));         if(!in_array($this->name,$this->all)){             echo"checksize";             exit(‘非法的文件类型‘);             returnfalse;         }         returntrue;                     }    publicfunctionuploadFile(){                move_uploaded_file($this->fileInfo[‘tmp_name‘],$this->path.‘/‘.iconv("UTF-8","gb2312",$this->fileInfo[‘name‘]));             if($this->checkKind()&&$this->checkSize()){            echo"132";                        //&&&&$this->checkHttpPost()&&$this->checkSize()        }            }    publicfunctionerror(){                exit(‘<h1 >‘.$this->error.‘</h1>‘);    }    } ?> | 
标签:
原文地址:http://www.cnblogs.com/gewenrui/p/4888862.html