PHP作為一種在WEB開發中廣泛使用的編程語言,它提供了許多可以處理文件上傳的API,而$_FILES就是其中之一,它提供了上傳文件的相關信息和操作。本文將介紹$_FILES的用法,以及一些實例來幫助你更好地了解這個超級變量。
首先,讓我們看一下如何使用$_FILES。要使用它,必須確保你的html表單中帶有enctype="multipart/form-data"屬性。當用戶上傳文件后,然后通過POST方法將表單數據發送到服務器時,$_FILES超級變量就會在服務器端生成,并且包含上傳文件的相關信息。以下是一個簡單的上傳文件的實例:
<form action="upload.php" method="post" enctype="multipart/form-data"> Select image to upload: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Upload Image" name="submit"> </form>
在上傳該文件后,要處理它需要在后臺的PHP腳本中使用$_FILES上傳后的文件。以下示例將介紹如何使用$_FILES變量的信息:
$target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // Check if image file is a actual image or fake image if(isset($_POST["submit"])) { $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); if($check !== false) { echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "File is not an image."; $uploadOk = 0; } } // Check if file already exists if (file_exists($target_file)) { echo "Sorry, file already exists."; $uploadOk = 0; } // Check file size if ($_FILES["fileToUpload"]["size"] >500000) { echo "Sorry, your file is too large."; $uploadOk = 0; } // Allow certain file formats if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $uploadOk = 0; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == 0) { echo "Sorry, your file was not uploaded."; // if everything is ok, try to upload file } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } }
總之,$_FILES變量是有關文件上傳的一個重要變量。本文中提供了一些實用的代碼實例,以幫助讀者更深入地理解其用途和用法。 其他常用的文件上傳超級變量還包括$_POST、$_GET、$_REQUEST、$_COOKIE等,這些變量的用途和信息不同。因此,在使用它們時要注意相關細節,以確保文件上傳功能的正常運行。