您好,登錄后才能下訂單哦!
一.PHP上傳配置
有一些配置指令可用于精細地調節PHP的文件上傳功能。這些指令用來確定是否啟用PHP的文件上傳、可允許的最大上傳文件大小、可允許的最大腳本內存分配和其他各種重要的資源。
1.file_uploads=on|off : 確定服務器上的PHP腳本是否可以接受文件上傳。
2.max_execution_time=integer :PHP腳本在注冊一個致命錯誤之前可以執行的最長時間,以秒為單位。
3.memory_limit=integer : 設置腳本可以分配到的最大內存,以MB為單位。這可以防止失控的腳本獨占服務器內存。
4.upload_max_filesize=integer :設置上傳文件最大大小,以MB為單位。此指令必須小于post_max_size。
5.upload_tmp_dir=string :設置上傳文件在處理之前必須存放在服務器的臨時一個位置,直到文件移動到最終目的地為止。
6.post_max_size=integer :確定通過POST方法可以接受的信息的最大大小,以MB為單位。
二.$_FILES數組
上傳表單的HTML
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
上傳文件: <input type="file" name="userfile" />
<input type="submit" value="上傳" />
</form>
ENCTYPE="multipart/form-data",這里是固定寫法,否則文件上傳失敗
ACTION="upload.php“,定義要處理上傳的程序文件路徑
METHOD="post",定義傳輸方式為POST,一般情況下Form提交數據都設置為POST
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">,這是一個隱藏域,定義了上傳文件的大小上限,超過這個值時,上傳失敗。它必須定義在文件上傳域的前面.而且這里定義的值不 能超過在php.ini 文件中upload_max_filesize設置的值,否則沒有意義了.(注意:MAX_FILE_SIZE 的值只是對瀏覽器的一個建議,實際上它可以被簡單的繞過。因此不要把對瀏覽器的限制寄希望于該值。實際上,PHP.ini設置中的上傳文件最大值,是不會 失效的。但是最好還是在表單中加上 MAX_FILE_SIZE,因為它可以避免用戶在花時間等待上傳大文件之后才發現該文件太大了的麻煩。)
<input type="file" name="userfile" />,這是文件上傳域,Type屬性必須設置為file,但Name屬性可以自定義,這個值會在代碼文件中使用.
$_FILES超級全局變量,它儲存各種與上傳有關的信息,這些信息對于通過PHP腳本上傳到服務器的文件至關重要。
1.存儲在$_FILES["userfile"]["tmp_name"]變量中的值就是文件在Web服務器中臨時存儲的位置。
2.存儲在$_FILES["userfile"]["name"]變量中的值就是用戶系統中的文件名稱。
3.存儲在$_FILES["userfile"]["size"]變量中的值就是文件的字節大小。
4.存儲在$_FILES["userfile"]["type"]變量中的值就是文件的MIME類型,例如:text/plain或p_w_picpath/gif。
5.存儲在$_FILES["userfile"]["error"]變量中的值將是任何與文件上載相關的錯誤代碼。這是在PHP4.2.0中增加的新特性。error分別提供了一些數組常量:0:表示沒有發生錯誤,1:表示上載文件的大小超出了約定值。文件大小的最大值是PHP配置文件中指定的,該指令是upload_max_filesize。2:表示上載文件大小超出了HTML表單的MAX_FILE_SIZE元素所指定的最大值。3:表示文件只被部分上載。4:表示沒有上載任何文件。
<?php
print_r($_FILES);
?>
三.PHP上傳函數
PHP的文件系統庫中提供了大量文件處理函數,除此之外,PHP還提供了兩個專門用于文件上傳過程的函數:is_uploaded_file()和move_uploaded_file()。
1.確定是否上傳文件:is_uploaded_file()
if (is_uploaded_file($_FILES["userfile"]["tmp_name"])) {
echo '已經上傳到臨時文件夾';
} else {
echo '失敗';
}
2.移動上傳文件:move_uploaded_file()
if (!move_uploaded_file($_FILES["userfile"]["tmp_name"],$_FILES["userfile"]["name"])) {
echo '移動失敗';
exit;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。