PHP 檔案上傳

2021-08-31 17:28:41 字數 1834 閱讀 2183

[url]

建立乙個檔案上傳表單

允許使用者從表單上傳檔案是非常有用的。

請看下面這個供上傳檔案的 html 表單:

請留意如下有關此表單的資訊:

標籤的 enctype 屬性規定了在提交表單時要使用哪種內容型別。在表單需要二進位制資料時,比如檔案內容,請使用 "multipart/form-data"。

標籤的 type="file" 屬性規定了應該把輸入作為檔案來處理。舉例來說,當在瀏覽器中預覽時,會看到輸入框旁邊有乙個瀏覽按鈕。

注釋:允許使用者上傳檔案是乙個巨大的安全風險。請僅僅允許可信的使用者執行檔案上傳操作。

建立上傳指令碼

"upload_file.php" 檔案含有供上傳檔案的**:

<?php

if ($_files["file"]["error"] > 0)

else

?>

通過使用 php 的全域性陣列 $_files,你可以從客戶計算機向遠端伺服器上傳檔案。

第乙個引數是表單的 input name,第二個下標可以是 "name", "type", "size", "tmp_name" 或 "error"。就像這樣:

$_files["file"]["name"] - 被上傳檔案的名稱

$_files["file"]["type"] - 被上傳檔案的型別

$_files["file"]["size"] - 被上傳檔案的大小,以位元組計

$_files["file"]["tmp_name"] - 儲存在伺服器的檔案的臨時副本的名稱

$_files["file"]["error"] - 由檔案上傳導致的錯誤**

這是一種非常簡單檔案上傳方式。基於安全方面的考慮,您應當增加有關什麼使用者有權上傳檔案的限制。

上傳限制

在這個指令碼中,我們增加了對檔案上傳的限制。使用者只能上傳 .gif 或 .jpeg 檔案,檔案大小必須小於 20 kb:

<?php

if ((($_files["file"]["type"] == "image/gif")

|| ($_files["file"]["type"] == "image/jpeg")

|| ($_files["file"]["type"] == "image/pjpeg"))

&& ($_files["file"]["size"] < 20000))

else

}else

?>

注釋:對於 ie,識別 jpg 檔案的型別必須是 pjpeg,對於 firefox,必須是 jpeg。

儲存被上傳的檔案

上面的例子在伺服器的 php 臨時資料夾建立了乙個被上傳檔案的臨時副本。

這個臨時的複製檔案會在指令碼結束時消失。要儲存被上傳的檔案,我們需要把它拷貝到另外的位置:

<?php

if ((($_files["file"]["type"] == "image/gif")

|| ($_files["file"]["type"] == "image/jpeg")

|| ($_files["file"]["type"] == "image/pjpeg"))

&& ($_files["file"]["size"] < 20000))

else

else}}

else

?>

上面的指令碼檢測了是否已存在此檔案,如果不存在,則把檔案拷貝到指定的資料夾。

注釋:這個例子把檔案儲存到了名為 "upload" 的新資料夾。

php mysql上傳檔案 PHP 檔案上傳

通過 php,可以把檔案上傳到伺服器。建立乙個檔案上傳表單 允許使用者從表單上傳檔案是非常有用的。請看下面這個供上傳檔案的 html 表單 芝麻教程 web3.xin 檔名 將以上 儲存到 form.html 檔案中。有關上面的 html 表單的一些注意項列舉如下 標籤的 enctype 屬性規定了...

php 檔案上傳

在php中,檔案上傳一般是通過move uploaded file 來實現的。bool move uploaded file string filename,string destination 本函式檢查並確保由 filename 指定的檔案是合法的上傳檔案 即通過 php 的 http post...

PHP檔案上傳

最近在寫關於php上傳影象檔案,寫了一整星期,還是不怎麼清楚其中原理,在此也只能把一些表象小結小結。php上傳檔案,是通過表單上傳的 注意得把form標籤的enctype屬性賦值multipart form date 先從客戶端把檔案上傳到伺服器 這怎麼傳上去的不清楚 再在伺服器上覆制到其他位址,開...