<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<center>
<form action="" method="POST" enctype="multipart/form-data" />
名稱<input type="text" name="name" /><br>
價格<input type="text" name="price" /><br>
數量<input type="text" name="numb" /><br>
圖片<input type="file" name="file" value="要上傳的圖片"/></br>
<input type="submit" name="sub" value="提交" />
</form>
</center>
</body>
</html>
<?php
if (!@$_POST['sub'] == '提交') {
exit;
}
// $POST[]
// 接收文件的超全局變量
// $_FILES
// $POST['name']
// $POST['price']
// $POST['numb']
// 先簡單的判斷用戶是否點擊了提交
if ($_FILES['file']["error"] > 0) {
switch ($_FILES['file']['error']) {
case '1':
echo "超出了最大限制";
break;
case '2':
echo "超過了表單的最大限制";
break;
case '3':
echo "文件上傳中斷";
break;
case '4':
echo "文件上傳失敗(沒有被上傳)";
break;
case '5':
echo '';
break;
case '6':
echo "無法找到臨時目錄";
break;
case '7':
echo "文件寫入失敗";
break;
default :
echo "上傳文件出現了未知的錯誤";
exit;
}
exit;
}
// 文件上傳錯誤檢驗完成//通過則執行下面的代碼
// 開始判斷要上傳的文件大小
if ($_FILES['file']["size"] > (4 * 1024 * 1024)) {
echo "文件超過了最大限制的2m";
} ;
// 判斷文件類型//只允許圖片滴
$img_all = array('png', 'jpg', 'jpeg', 'gif', 'png', 'bmp', 'PNG');
$img_arr = explode('.', $_FILES['file']["name"]);
if (!in_array($img_all[count($img_arr)-1], $img_all)) { // 判斷文件是否周到支持
echo "文件不支持";
exit;
} else {
// 將上傳的文件移動到制定的目錄中
if (is_uploaded_file($_FILES['file']['tmp_name'])) { // 判斷是否是上傳的文件
// 移動文件相當於重命名問及,所以用函數rename函數
$new_file = 'image_users/' . sha1(date("YmdHis", time())) . "[" . md5(rand(1, 99)) . "]." . $img_arr[count($img_arr)-1]; //準備新文件的名字
if (move_uploaded_file($_FILES['file']['tmp_name'], $new_file)) {
echo "文件上傳成功";
} else {
echo "文件上傳失敗";
}
// ---------------------------------------
}
} ;
?>