中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php面向對象之文件上傳類

發布時間:2020-09-06 21:10:08 來源:網絡 閱讀:763 作者:w0rdyyp 欄目:web開發
<?php
//文件上傳類(功能)
class FileUpload{
    protected $upfile;
    protected $path;
    protected $error;
    protected $fileinfo;
    protected $typelist=array();
    protected $maxsize=0;
    public function __construct($name,$path){
        $this->upfile=$_FILES[$name];
        $this->path=rtrim($path,"/")."/";
      
    }
      
    public function __set($param,$value){
        $this->$param=$value;
    }
      
    public function __get($param){
        return $this->$param;
    }
      
    //驗證上傳的錯誤號
    private function checkError(){
        if($this->upfile['error']>0){
            switch($this->upfile['error']){
                case 1: $info="上傳文件大小超出PHP配置文件的設置"; break;
                case 2: $info="上傳文件大小超過了表單中MAX_FILE_SIZE指定的值"; break;
                case 3: $info="文件只有部分被上傳。"; break;
                case 4: $info="沒有文件被上傳。"; break;
                case 6: $info="找不到臨時文件夾。"; break;
                case 7: $info="文件寫入失敗。"; break;
                default: $info="未知錯誤"; break;
            }
            $this->error=$info;
            return false;
        }
        return true;
    }
      
    //驗證上傳類型
    private function checkType(){
        if(count($this->typelist)>0){
            if(!in_array($this->upfile['type'],$this->typelist)){
                $this->error="上傳文件類型錯誤:".$upfile['type'];
                return false;
            }
        }
        return true;
    }
      
    //驗證大小
    private function checkSize(){
        if($this->maxsize>0 && $this->upfile['size']>$this->maxsize){
            $this->error="上傳文件大小超出了允許范圍!".$maxsize;
            return false;
        }
        return true;
    }
      
    //處理上傳的文件名
    private function makeName(){
        do{
        //隨機一個文件名,格式:時間戳+4位隨機數+源后綴名
        $newname = time().rand(1000,9999).".".pathinfo($this->upfile['name'],PATHINFO_EXTENSION);
        }while(file_exists($this->path.$newname)); //判斷隨機的文件名是否存在。
        $this->fileinfo['savename']=$newname;
        return true;
    }
      
    //移動上傳文件
    private function movefile(){
        if(is_uploaded_file($this->upfile['tmp_name'])){
            if(move_uploaded_file($this->upfile['tmp_name'],$this->path.$this->fileinfo['savename'])){
                return true;
            }else{
                $this->error='執行上傳文件移動失敗!';
            }
        }else{
            $this->error='不是一個有效的上傳文件!';
        }
        return false;
    }
    //執行上傳
    public function upload(){
        return ($this->checkError() && $this->checkType() && $this->checkSize() && $this->makeName() && $this->movefile());
    }
      
}
/*
//創建上傳對象
$upfile = new FileUpload("pic","./public/uploads/");
//初始化屬性
$upfile->filetype="";
$upfile->maxsize="";
//執行上傳(成功返回true,失敗返回false)
if($upfile->upload()){
    echo $upfile->fileinfo['savename']; //獲取上后的文件名
}else{
    echo $upfile->error; //獲取上傳失敗信息
}
*/


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三河市| 闽清县| 靖江市| 衡水市| 同江市| 静海县| 乐东| 康马县| 青川县| 富民县| 湖北省| 桐庐县| 灌阳县| 元氏县| 封丘县| 镇巴县| 万安县| 昆明市| 二手房| 淮滨县| 吉隆县| 旅游| 武宁县| 麻城市| 堆龙德庆县| 开原市| 介休市| 肇源县| 鄂尔多斯市| 双流县| 微山县| 龙游县| 平潭县| 阿勒泰市| 佛坪县| 黄梅县| 嵊泗县| 桑日县| 平果县| 铁力市| 富源县|