1、上傳、下載下傳思路
一、上傳思路
寫上傳頁面
在form表單中加enctype=”multipart/form-data”屬性,把表單送出方式設定為post
送出表單後,表單處理頁面會生成$_FILES超級全局變量數組
用move_uploaded_file()函數 把上傳檔案移動到伺服器的目标目錄中
上傳成功顯示成功 失敗顯示失敗
二、上傳原理:用戶端發送檔案到伺服器,伺服器将檔案放到臨時目錄,用move_uploaded_file()函數将檔案放到伺服器指定目錄中
三、下載下傳思路
在清單中點要下載下傳的檔案
到下載下傳的php檔案接收檔案名
寫入檔案的類型
激活一個下載下傳的視窗
讀檔案
//接收檔案路徑
$path = $_GET['path'];
$filename = substr($path,strrpos($path,"/")+1);
//檔案類型
header('Content-type: image/pjpeg');
//激活一個下載下傳的視窗 (檔案名)
header("Content-Disposition: attachment; filename=$filename");
//讀檔案
readfile($path);
補充内容:
設定php配置檔案中的指定,用于精細的調節php的檔案上傳功能。
file_uploads=on
确定伺服器上的php腳本是否可以接受http檔案上傳
Memory_limit: 128M
設定腳本可以配置設定的最大記憶體量,防止失控的腳本獨占伺服器記憶體。
Upload_max_filesize:限制php處理上傳檔案大小的最大值 2M
Post_max_size:限制通過post方法可以接受資訊的最大值。 8M
Upload_tmp_dir:上傳檔案存放的臨時路徑
$_FILES多元數組:用于存儲各種與檔案上傳有關資訊
$_FILES[‘myfile’][‘name’]:源檔案名包括擴充名
$_FILES[‘myfile’][‘size’]:已上傳檔案的大小
$_FILES[‘myfile’][‘tmp_name’]:上傳檔案的臨時檔案名
$_FILES[‘myfile’][‘type’]:上傳檔案的類型
$_FILES[‘myfile’][‘error’]:伴随檔案上傳時産生的錯誤資訊
0:沒有任何錯誤
1:上傳檔案的大小超出了在php配置檔案中Upload_max_filesize設定的最大值
2:表示上傳檔案大小超出了html表單中MAX__FILE__SIZE選項所指定的值
3:表示檔案隻被部分上傳
4表示沒有上載任何檔案
檔案上傳的原理:
用戶端将檔案送出上傳,伺服器端先将檔案移動到臨時檔案夾裡,再移動到伺服器端檔案夾中
實作步驟:
① 設定表單,method必須是post方式,還要給表單加一個上傳表示:enctype="multipart/form-data"
② 送出到伺服器中去用一個全局數組來接收:$_FILES
$_FILES[‘myfile’][‘error’]:伴随檔案上傳時産生的錯誤資訊
③ 将檔案從臨時檔案夾裡移動到伺服器端檔案夾裡
//擷取臨時檔案所在的路徑資訊
$file_name=$_FILES['myfile']['tmp_name'];
//擷取上傳後的檔案名
$path="./img/".$_FILES['myfile']['name'];
//移動檔案 move_uploaded_file(臨時檔案夾的路徑,伺服器端檔案夾)
if(move_uploaded_file($file_name,$path)){
echo "成功";
}else{
echo "失敗";
}
本文轉自噼裡啪啦啦 51CTO部落格,原文連結:http://blog.51cto.com/pilipala/1670692,如需轉載請自行聯系原作者