12.4.1 文件上傳的設置
客戶端上傳設置
在B/S程序中文件上傳已經成為一個常用功能。其目的是客戶可以通過瀏覽器(Browser)將文件上傳到服務器(Server)上的指定目錄。
PHP中文件上傳的基礎知識:
客戶端form表單
服務器端對上傳文件的操作
客戶端文件上傳的form表單:
<html>
<head><title>文件上傳</title></head>
<body>
<form action="upload.php" method="post"
enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
選擇文件:<input type="file" name="myfile">
<input type="submit" value="上傳文件">
</form>
</body>
</html>
注意幾個特征屬性:
POST方法:
表單最常用的功能,向目標頁面傳遞變量,我們在上傳文件的時候,會在表單中設置相應的屬性,來完成文件的傳遞
enctype="multipart/form-data"
這樣服務器就會知道,我們要傳遞一個文件,這樣服務器可以知道上載的文件帶有常規的表單信息。
MAX_FILE_SIZE
此字段必須在文件輸入字段之前,控制最大的傳遞文件的大小(字節)
<input type="file" name="userfile">
設置瀏覽器文件輸入瀏覽按鈕
PHP配置文件中與文件上傳有關的選項
06.png
$_FILES多維數組
超級全局數組$_FILES
1、$_FILES["myfile"]["name"]中的值是:
客戶端文件系統的文件的名稱
2、$_FILES["myfile"]["type"]中的值是:
客戶端傳遞的文件的類型
3、$_FILES["myfile"]["size"]中的值是:
文件的字節的大小
4、$_FILES["myfile"]["tmp_name"]中的值是:
文件被上傳后在服務器存儲的臨時全路徑
5、$_FILES["myfile"]["error"]中的值是:
文件上傳的錯誤代碼-php 4.2以后增加的功能
upform.html
<form action="upload.php" method="post" enctype="multipart/form-data" >
name: <input type="text" name="username" value="" /><br>
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
up pic: <input type="file" name="pic" value=""><br>
<input type="submit" value="upload" /><br>
</form>
upload.php
<?php
echo '<pre>';
print_r($_POST);
print_r($_FILES);
echo "</pre>";