振鐸四十週年影音儲存
出自六年制學程
檔案上傳機制
- 恩濡參考以下資料來源製作「檔案上傳試用網頁」:
- 主要程式碼參考網頁:PHP上傳檔案,透過 PHP $_FILES 陣列輕鬆上傳檔案
- 主要程式碼參考網頁:PHP 上傳檔案程式設計教學,$_FILES 多檔案用法
- 主要html程式碼:WebAPIs:檔案上傳 Input File, File Upload, and FileList
- 補充資料:【經驗】php-檔案上傳-步驟教學
- 需準備的檔案:
- 前台上傳介面:html檔案
- 後台工作程式:php檔案
- 檔案目的地資料夾:要從網頁「根目錄」下新增資料夾,讓上傳的檔案有地方去
- 主要程式碼:
- html:
<html><body> <form method="post" enctype="multipart/form-data" action="upload.php"> <input type="file" name="my_file"> <input type="submit" value="Upload"> </form> </body></html>
- php:
<?php if($_FILES["my_file"]['error']>0){ echo 'Error'.$_FILES.['my_file']['error']; }else { echo "檔案名稱" .$_FILES['my_file']['name']."<br/>"; echo "檔案類型" .$_FILES['my_file']['type']."<br/>"; echo "檔案大小" .($_FILES['my_file']['size']/1024)."Kb<br/>"; echo "暫存名稱" .$_FILES['my_file']['tmp_name']; if(file_exists('uploadPractice/'.$_FILES['my_file']['name'])){ echo "檔案已經存在囉"; }else{ move_uploaded_file($_FILES['my_file']['tmp_name'],'uploadPractice/'.$_FILES['my_file']['name']); } } ?>
- 了解各程式碼代表的意義:
- $_FILES["file"]["name"]:上傳檔案的原始名稱。
- $_FILES["file"]["type"]:上傳的檔案類型。
- $_FILES["file"]["size"]:上傳的檔案原始大小。
- $_FILES["file"]["tmp_name"]:上傳檔案後的暫存資料夾位置。
- $_FILES["file"]["error"]:如果檔案上傳有錯誤,可以顯示錯誤代碼。
- move_uploaded_file 是一個函式function,能幫我們移動檔案到預計的目的地,也就是括號變數裡的目的資料夾。
- file_exists()是一個函式function,能幫我們檢查上傳的檔案是否已經存在。(搭配if,else程式碼來設定)
- 要注意目的地資料夾是否有開放前台寫入的權限。