PHP中,$files全局變量經(jīng)常被用來讀取上傳文件的信息。該變量是一個(gè)關(guān)聯(lián)數(shù)組,包含了上傳文件的各種信息,如文件名、文件類型、臨時(shí)文件名等。通過了解該變量的使用方法,我們能更好地處理文件上傳的操作。
首先,我們可以通過$_FILES全局變量來訪問$files。比如以下代碼:
$file_name = $_FILES['file']['name']; $file_type = $_FILES['file']['type']; $tmp_name = $_FILES['file']['tmp_name']; $error = $_FILES['file']['error']; $file_size = $_FILES['file']['size'];
上述代碼中,我們通過$_FILES['file']來訪問$files數(shù)組,并獲取上傳文件的名稱名、類型、臨時(shí)文件名、錯(cuò)誤信息以及文件大小。
接下來,我們可以使用move_uploaded_file()函數(shù)來將上傳的文件從臨時(shí)目錄移動(dòng)到指定目錄。如以下代碼:
$target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["file"]["name"]); if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) { echo "The file ". basename( $_FILES["file"]["name"]). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; }
上述代碼中,我們先定義了一個(gè)目標(biāo)目錄和目標(biāo)文件名。接著,我們使用move_uploaded_file()函數(shù)將上傳的文件移動(dòng)到目標(biāo)目錄。如果移動(dòng)成功,就輸出一句上傳成功的提示信息,否則輸出上傳失敗的提示信息。
此外,$files數(shù)組還可以用來驗(yàn)證上傳的文件是否符合要求。例如,我們可以通過以下代碼來檢查上傳的文件是否是一個(gè)圖片文件:
$allowed_types = array('jpg','png','gif'); $file_type = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); if(in_array($file_type, $allowed_types)){ // 文件是圖片 } else { // 文件不是圖片 }
上述代碼中,我們首先定義了一個(gè)允許上傳的文件類型數(shù)組$allowed_types。接著,我們通過pathinfo()函數(shù)獲取上傳文件的文件類型。最后,我們使用in_array()函數(shù)判斷上傳文件的類型是否在$allowed_types數(shù)組中,在則代表是一個(gè)允許上傳的圖片文件,否則不是。
總之,$files全局變量是文件上傳操作中非常重要的變量,通過了解它的使用方法,我們能更好地處理上傳文件的操作。