<?php
print_r($_FILES);
//獲取上傳文件信息
$upFile=$_FILES['myfile'];
$path="uploads/";
$typeList=array("image/jpg","image/png","text/html","application/zip"); //定義容許的類型
if($upFile["error"]>0){
switch ($upFile["error"]){//獲取錯誤信息
case 1:
$info="上傳的文件超過了php.ini 中 upload_max_filesize 選項限制的值";
break;
case 2:
$info="上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值";
break;
case 3:
$info="文件並未徹底上傳,請再次嘗試!文件只有部分被上傳";
break;
case 4:
$info="未選擇上傳文件,沒有文件被上傳";
break;
case 6:
$info="找不到臨時文件夾";
break;
case 7:
$info="文件寫入失敗";
break;
case 8:
$info="因爲PHP的擴展程序中斷了文件上傳";
break;
}die("上傳文件錯誤,緣由:" .$info);
}
//過濾上傳文件大小
if($upFile["size"]>2*1024*1024){
die("上傳文件大小超出限制");
}
//過濾文件類型
if(!in_array($upFile["type"], $typeList)){
die("上傳文件類型非法" .$upFile["type"]);
}
//上傳文件後對文件名進行定義
$fileinfo=pathinfo($upFile["name"]);//解析上傳文件名字
do{
$newfile=date("YmdHis").rand(1000, 9999).".".$fileinfo["extension"];
}while(file_exists($path.$newfile));
//判斷是不是一個上傳的文件
if(is_uploaded_file($upFile["tmp_name"])){
//執行文件上傳
if(move_uploaded_file($upFile["tmp_name"], $path.$newfile)){
echo "文件上傳成功";
}else{
die("上傳文件失敗");
}
}else{
die("不是一個上傳文件");
}
?>