
批改狀態(tài):合格
老師批語:
<?php
// $_FILES
printf('<pre>%s</pre>', print_r($_FILES, true));
if (isset($_FILES['my_pic'])) {
// 原始文件名
$name = $_FILES['my_pic']['name'];
// 臨時文件名
$tmpName = $_FILES['my_pic']['tmp_name'];
// 錯誤代碼
$error = $_FILES['my_pic']['error'];
if ($error >0) {
$tips = '<span style="color:red">上傳失敗!</
span><br>';
switch ($error) {
case 1:
$tips .= '大小超過了php.ini中的允許上傳的
文件大小';
break;
case 2:
$tips .= '大小超過了表單中(MAX_FILE_SIZE)
的允許上傳的文件大小';
break;
case 3:
$tips .= '文件只有部分被上傳';
break;
case 4:
$tips .= '沒有文件被上傳';
break;
case 6:
$tips .= '找不到臨時目錄';
break;
case 7:
$tips .= '文件寫入失敗,請檢查目錄權限';
break;
}
echo "<p>$tips</p>";
} else {
//1 判斷上傳方式是否合法? POST
if (is_uploaded_file($tmpName)) {
// 文件類型白名單
$allow = ['jpg','jpeg','png','gif'];
// 擴展名
$ext = pathinfo($name)['extension'];
if (in_array($ext, $allow)) {
// 如果上傳方式合法,且是允許的類型,則可以移
動到指定的目錄中了
$path = 'uploads/';
// 為了防止同名覆蓋,應該給目標文件名重命名
$dest =$path. md5($name) . '.' . $ext;
// 將文件從臨時目錄移動到目標目錄中
if (move_uploaded_file($tmpName,
$dest)) {
echo '<p>上傳成功</p>';
// 預覽
echo "<img src='$dest'
width='300'>";
} else {
}
} else {
echo '<p>文件類型錯誤</p>';
}
} else {
echo '<p>上傳方式非法</p>';
}
}
}
?>
<body>
<form action="" method="POST" enctype="multipart/
form-data">
<fieldset>
<legend>單文件上傳</legend>
<input type="file" name="my_pic">
<button>上傳</button>
</fieldset>
</form>
</body>
<body>
<form action="" method="POST" enctype="multipart/
form-data">
<fieldset>
<legend>多文件上傳-1:逐個上傳</legend>
<input type="file" name="my_pic1">
<input type="file" name="my_pic2">
<input type="file" name="my_pic3">
<button>上傳</button>
</fieldset>
</form>
</body>
<body>
<form action="" method="POST" enctype="multipart/
form-data">
<fieldset>
<legend>多文件上傳-2:逐個上傳</legend>
<input type="file" name="my_pic[]">
<input type="file" name="my_pic[]">
<input type="file" name="my_pic[]">
<button>上傳</button>
</fieldset>
</form>
</body>
<body>
<form action="" method="POST" enctype="multipart/
form-data">
<fieldset>
<legend>多文件上傳-3:批量上傳</legend>
<!-- multiple: 允許同時選擇多個 -->
<input type="file" name="my_pic[]" multiple>
<button>上傳</button>
</fieldset>
</form>
</body>
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號