1. 程式人生 > >面向對象---封裝文件上傳思路

面向對象---封裝文件上傳思路

ini case ror jpg pathinfo -type 類型 clas 寫入

<?php
header("content-type:text/html;charset=utf8");
//獲取數據信息
$data = $_FILES;
//循環遍歷的方式取到單個的數組
foreach ($data as $key=>$val){
    $arr = $val;
}

//判斷一下是不是有效的文件
if(!is_array($arr) || empty($arr)){
    echo "無效的文件";die;
}

//獲取後綴
if(!empty($arr[‘name‘])) {
    $info = pathinfo($arr[‘name‘]);
    $st = $info
[‘dirname‘]; $ext = $info[‘extension‘]; } //判斷一下錯誤類型 switch ($arr[‘error‘]){ case 1: echo "上傳的文件超過了 php.ini 中 upload_max_filesize選項限制的值。";die;break; case 2: echo "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。";die;break; case 3: echo "文件只有部分被上傳。";die;break; case 4: echo "沒有文件被上傳。";die
;break; case 6: echo "找不到臨時文件夾。";die;break; case 7: echo "文件寫入失敗。";die;break; } //設置一下允許文件上傳的類型 $types = array(‘image/gif‘,‘image/jpeg‘,‘image/jpg‘,‘image/pjpeg‘,‘image/x-png‘,‘image/png‘); //設置一下允許文件上傳的大小 $sizes = 204800; //小於200kb if(!in_array($arr[‘type‘],$types)){ echo "文件類型不被允許"; } if($arr[‘size‘]>$sizes
){ echo "文件太大了";die; } //判斷文件目錄是不是存在 if(!is_dir(‘./upload‘)){ mkdir(‘upload‘); } // 判斷當期目錄下的 upload 目錄是否存在該文件 // 如果沒有 upload 目錄,你需要創建它,upload 目錄權限為 777 if (file_exists("upload/" . $arr["name"])) { echo $arr["name"] . " 文件已經存在。 ";die; } else { // 如果 upload 目錄不存在該文件則將文件上傳到 upload 目錄下 $path = "upload/" .$arr[‘name‘].$st.$ext; //路徑 move_uploaded_file($arr["tmp_name"],$path); } echo $path;

面向對象---封裝文件上傳思路