振鐸四十週年影音儲存:修訂版本之間的差異
出自六年制學程
(→檔案上傳機制) |
(→檔案上傳機制) |
||
(未顯示同用戶所作出之14次版本) | |||
第 10 行: | 第 10 行: | ||
##後台工作程式:php檔案 | ##後台工作程式:php檔案 | ||
##檔案目的地資料夾:要從網頁「根目錄」下新增資料夾,讓上傳的檔案有地方去 | ##檔案目的地資料夾:要從網頁「根目錄」下新增資料夾,讓上傳的檔案有地方去 | ||
− | + | *主要程式碼: | |
− | + | <ol> | |
− | + | <li>html: | |
+ | <pre><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></pre></li> | ||
+ | <li>php:<pre><?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']); | ||
+ | } | ||
+ | } | ||
+ | ?></pre></li> | ||
+ | *了解各程式碼代表的意義: | ||
+ | **$_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程式碼來設定) | ||
+ | |||
+ | *要注意目的地資料夾是否有開放前台寫入的權限。 |
2022年6月10日 (五) 15:39的最新修訂版本
檔案上傳機制
- 恩濡參考以下資料來源製作「檔案上傳試用網頁」:
- 主要程式碼參考網頁: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程式碼來設定)
- 要注意目的地資料夾是否有開放前台寫入的權限。