Этот вопрос проверяет знание работы с загрузкой файлов в PHP с использованием суперглобального массива $_FILES.
PHP обрабатывает загрузку файлов через суперглобальный массив $_FILES. Файл отправляется через форму с атрибутом enctype="multipart/form-data", и PHP сохраняет информацию о загружаемом файле в $_FILES, включая имя файла, тип и путь.
Когда пользователь загружает файл через HTML-форму, PHP предоставляет доступ к файлу через массив $_FILES, который содержит информацию о загруженных файлах, таких как имя, размер, тип и временный путь.
Пример HTML-формы для загрузки файла:
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="fileToUpload" />
<input type="submit" value="Upload File" />
</form>Пример PHP-обработчика (upload.php):
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$targetDir = "uploads/";
$targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]);
$fileType = pathinfo($targetFile, PATHINFO_EXTENSION);
// Проверка, является ли файл изображением (по примеру)
if (in_array($fileType, ["jpg", "jpeg", "png", "gif"])) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
echo "File uploaded successfully!";
} else {
echo "Sorry, there was an error uploading your file.";
}
} else {
echo "Sorry, only image files are allowed.";
}
}PHP облегчает процесс загрузки файлов с помощью массива $_FILES, обеспечивая возможность обработки различных файловых типов и их сохранение на сервере.