通過 PHP,可以把檔案上傳到伺服器。

2022-06-20 08:06:11 字數 1955 閱讀 8394

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

請看下面這個供上傳檔案的 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"。就像這樣:

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

在這個指令碼中,我們增加了對檔案上傳的限制。使用者只能上傳 .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

?>

上面的例子在伺服器的 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

$a=array("red","green","blue","yellow","brown");

print_r(array_slice($a,2));

?>

把模板檔案上傳到伺服器

report yup message id sb.data fname type rlgrap filename,ftype type rlgrap filetype,fsize type i.data fname p type string,fname n type string.data sfn...

PHP可以通過什麼元件上傳大檔案

php有乙個flashupload的上傳外掛程式,這個是免費的,可以查,通過flash外掛程式方式上傳,但php.ini中還得修改上傳檔案大小 修改配置檔案php.ini 影響檔案上傳的以下幾個引數 file uploads on 是否允許通過http上傳檔案的開關。預設為on即是開 upload ...

手機端通過blob檔案上傳到伺服器

手機端通過blob檔案上傳到伺服器 mui拍照和從相簿獲取後,可以將檔案轉換成base64字串後上傳到服務,伺服器解密儲存檔案,這樣存在問題,base64字串過大會導致http無法傳送引數,如果將進行壓縮後轉換成base64,會導致失真。如何解決該問題 通過將base64轉化成更小的blob二進位制...