允許使用者從表單上傳檔案是非常有用的。
請看下面這個供上傳檔案的 html 表單:
請留意如下有關此表單的資訊:
標籤的 enctype 屬性規定了在提交表單時要使用哪種內容型別。在表單需要二進位制資料時,比如檔案內容,請使用 "multipart/form-data"。
標籤的 type="file" 屬性規定了應該把輸入作為檔案來處理。舉例來說,當在瀏覽器中預覽時,會看到輸入框旁邊有乙個瀏覽按鈕。
注釋:允許使用者上傳檔案是乙個巨大的安全風險。請僅僅允許可信的使用者執行檔案上傳操作。
"upload_file.php" 檔案含有供上傳檔案的**:
<?phpif ($_files["
file
"]["
error
"] > 0)
else
?>
通過使用 php 的全域性陣列 $_files,你可以從客戶計算機向遠端伺服器上傳檔案。
第乙個引數是表單的 input name,第二個下標可以是 "name", "type", "size", "tmp_name" 或 "error"。就像這樣:
這是一種非常簡單檔案上傳方式。基於安全方面的考慮,您應當增加有關什麼使用者有權上傳檔案的限制。
在這個指令碼中,我們增加了對檔案上傳的限制。使用者只能上傳 .gif 或 .jpeg 檔案,檔案大小必須小於 20 kb:
<?phpif ((($_files["
file
"]["
type
"] == "
image/gif")
|| ($_files["
file
"]["
type
"] == "
image/jpeg")
|| ($_files["
file
"]["
type
"] == "
image/pjpeg"))
&& ($_files["
file
"]["
size
"] < 20000
))
else
}else
?>
上面的例子在伺服器的 php 臨時資料夾建立了乙個被上傳檔案的臨時副本。
這個臨時的複製檔案會在指令碼結束時消失。要儲存被上傳的檔案,我們需要把它拷貝到另外的位置:
<?phpif ((($_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二進位制...