如何利用PHP上傳文件的方法(PHP程式設計問題與答覆)
PHP程式設計問題諮詢:
我想利用PHP上傳文件,其方法為何?
———————————————————
PHP程式設計問題回覆:
您要利用PHP上傳文件,可以參考以下的範例:
<html><head>
<title>上載文件表單</title></head>
<body>
<form enctype="multipart/form-data" action="" method="post">
請選擇檔: <br>
<input name="upload_file" type="file"><br>
<input type="submit" value="上傳文件">
</form>
</body>
</html>
<?
$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];
if($upload_file){
$file_size_max = 1000*1000;// 1M限制檔上傳最大容量(bytes)
$store_dir = "d:/";// 上傳檔的儲存位置
$accept_overwrite = 1;//是否允許覆蓋相同檔
// 檢查檔大小
if ($upload_file_size > $file_size_max) {
echo "對不起,你的檔容量大於規定";
exit;
}
// 檢查讀寫檔
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
Echo "存在相同檔案名的文件";
exit;
}
//複製檔到指定目錄
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
echo "複製檔失敗";
exit;
}
}
Echo "<p>你上傳了文件:";
echo $_FILES['upload_file']['name'];
echo "<br>";
//用戶端機器文件的原名稱。
Echo "文件的 MIME 類型為:";
echo $_FILES['upload_file']['type'];
//檔的 MIME 類型,需要流覽器提供該資訊的支援,例如“image/gif”。
echo "<br>";
Echo "上傳文件大小:";
echo $_FILES['upload_file']['size'];
//已上傳檔的大小,單位為位元組。
echo "<br>";
Echo "檔上傳後被臨時儲存為:";
echo $_FILES['upload_file']['tmp_name'];
//檔被上傳後在服務端儲存的暫存檔案名。
echo "<br>";
$Erroe=$_FILES['upload_file']['error'];
switch($Erroe){
case 0:
Echo "上傳成功"; break;
case 1:
Echo "上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值."; break;
case 2:
Echo "上傳檔的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。"; break;
case 3:
Echo "檔只有部分被上傳";break;
case 4:
Echo "沒有檔被上傳";break;
}
?>
————————————————————-