<!DOCTYPE html>
<html lang=”ru”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Загрузка файла</title>
</head>
<body>
<h1>Форма для загрузки файла</h1>
<form action=”upload.php” method=”post” enctype=”multipart/form-data”>
<label for=”fileToUpload”>Выберите файл для загрузки:</label>
<input type=”file” name=”fileToUpload” id=”fileToUpload”>
<br>
<input type=”submit” value=”Загрузить файл” name=”submit”>
</form>
</body>
</html>
<?php
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’) {
// Указываем папку для хранения загруженных файлов
$targetDirectory = “uploads/”;
$targetFile = $targetDirectory . basename($_FILES[“fileToUpload”][“name”]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
// Проверка, является ли файл изображением (можно изменить под другие типы файлов)
if (isset($_POST[“submit”])) {
$check = getimagesize($_FILES[“fileToUpload”][“tmp_name”]);
if ($check !== false) {
echo “Файл – это изображение ” . $check[“mime”] . “.<br>”;
$uploadOk = 1;
} else {
echo “Файл не является изображением.<br>”;
$uploadOk = 0;
}
}
// Проверка на наличие файла
if (file_exists($targetFile)) {
echo “Извините, файл с таким именем уже существует.<br>”;
$uploadOk = 0;
}
// Ограничение на размер файла (например, 5 МБ)
if ($_FILES[“fileToUpload”][“size”] > 5000000) {
echo “Извините, файл слишком большой.<br>”;
$uploadOk = 0;
}
// Разрешенные типы файлов (например, jpg, png, jpeg, gif)
if ($imageFileType != “jpg” && $imageFileType != “png” && $imageFileType != “jpeg” && $imageFileType != “gif”) {
echo “Извините, только файлы форматов JPG, JPEG, PNG и GIF разрешены.<br>”;
$uploadOk = 0;
}
// Проверка, если $uploadOk равен 0, то файл не будет загружен
if ($uploadOk == 0) {
echo “Извините, файл не был загружен.<br>”;
} else {
// Попытка загрузить файл
if (move_uploaded_file($_FILES[“fileToUpload”][“tmp_name”], $targetFile)) {
echo “Файл ” . htmlspecialchars(basename($_FILES[“fileToUpload”][“name”])) . ” был загружен.<br>”;
} else {
echo “Извините, произошла ошибка при загрузке файла.<br>”;
}
}
}
?>
Leave a Reply