面向對象---封裝文件上傳思路
阿新 • • 發佈:2018-05-14
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;
面向對象---封裝文件上傳思路