PHP實現檔案上傳例子

2021-04-13 13:16:45 字數 1641 閱讀 7305

php實現檔案上傳例子

例項1:

上載檔案表單網頁:updatefile.htm

[ctrl+a 全部選擇 然後拷貝]

處理上載檔案網頁:updatefile.php3

[ctrl+a 全部選擇 然後拷貝]注意:檔案上載後必須拷貝到新的地方或重新更名,否則當程序執行完後,上載樣本將被刪除

例項2:

php3是一種非常強大的cgi指令碼語言,就其語言特點基本上源於c,就其實現方式而言更象perl,而其對資料庫的內在支援更使之成為asp的強大對手。

首先在前台必須有乙個介面

[ctrl+a 全部選擇 然後拷貝] 值得注意的是乙個 max_file_size的隱藏值域,通過設定其value可以限制上載檔案的大小。  然後在後台實現檔案上載操作。如果只是最基本的上載,寥寥幾行就可以搞定

因為form傳遞過來的值自動賦值給同名變數,所以直接通過$uploadfile可以訪問上載的檔案,但由於這是乙個儲存檔案的變數,因此檔案名字必須通過另外乙個$uploadfile_name變數取得。在拷貝檔案後刪去臨時檔案(unlink)。

上面的**完全可以工作,但實際應用中漏洞百出,讓我們逐步來完善之首先,上載的檔案必須有乙個固定的目錄儲存,我們在這裡用乙個$uploadpath變數儲存之,如$uploadpath = "/home/flier/upload/";

或複雜一點的自動定位,如

$uploadpath = addslashes(dirname($path_translated))."//upload//";

$path_translated顧名思義是當前傳送目錄

我們假定以其乙個名為upload的子目錄來儲存上載的檔案。dirname函式返回其目錄名,然後加上子目錄名然後用乙個變數$filename儲存完整的上載後檔名和路徑

$filename = $uploadpath.$uploadfile_name;

其次,我們還想讓使用者得知上載檔案的簡要資訊,如上載檔案的大小if($uploadfile_size <1024)

elseif($uploadfile_size <(1024 * 1024))

else     number_format函式起到格式化輸出的作用,具體用法請參照手冊。下一步我們必須考慮到檔案已經存在和拷貝操作失敗的情況,並提供相應的提示資訊if(!file_exists($filename))

else

unlink($uploadfile);

}else

然後我們應該考慮到大檔案上載時容易出現超時的情況,可以用set_time_limit($timelimit);加大超時限制時間。

最後,把截面和實現**綜合到乙個單獨的檔案中,為了實現這個想法,我們通過在 form中新增乙個隱含值指出當前的狀態(介面或實現),以便區分對待完成**如下:

upload.php3:

[ctrl+a 全部選擇 然後拷貝]

<?

if($uploadfile != "none")

else

?>

實現php檔案上傳

php上傳檔案非常簡單,你需要乙個上傳的html檔案 以上範例中的 url 應該被換掉,指向乙個真實的 php 檔案。max file size 隱藏字段 單位為位元組 必須放在檔案輸入字段之前,其值為接收檔案的最大尺寸。這是對瀏覽器的乙個建議,php 也會檢查此項。在瀏覽器端可以簡單繞過此設定,因...

PHP上傳檔案實現

實現 見下。upload.html upload.php uploaddir files 設定檔案儲存目錄 注意包含 type array jpg gif bmp jpeg png 設定允許上傳檔案的型別 獲取檔案字尾名函式 function fileext filename 生成隨機檔名函式 fu...

php實現檔案上傳

前台是使用form表單,後台使用php實現上傳檔案 html部分 檔案上傳title charset utf 8 head action fileupload.php method post enctype multipart form data for file 上傳檔案label type fi...