Задание
1. Создать форму для загрузки изображений
2. Написать скрипт загрузки файла.
1. Создадим файл для нашей формы zagruzka.php. Его код:
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>My First PHP Page</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> Выберете файл для загрузки: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Загрузить" name="submit"> </form> </body> </html>
И в файле index.php сделаем ссылку на zagruzka.php
<a href="zagruzka.php">Страница для загрузки файлов</a> <br />
И смотрим результат:
рис 1
2. Код скрипта:
<?php
$target_dir = "uploads/"; //Задаем папку в которую загружается файл.
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // исходное имя файла, такое
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); // Получаем расширение файла для проверки, что файл является картинкой
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); // полный путь к временному файлу на диске
if($check !== false) {
echo "Файл является изображением - " . $check["mime"] . "";
$uploadOk = 1;
} else {
echo "Файл не является изображением или поврежден.";
$uploadOk = 0;
}
}
if (file_exists($target_file)) // проверяем существует ли файл
{
echo "Извините файл уже существует.";
$uploadOk = 0;
}
if ($_FILES["fileToUpload"]["size"] > 500000) // Проверим размер загруженного файла в байтах
{
echo "Файл слишком большой.";
$uploadOk = 0;
}
if($imageFileType != "jpg" and $imageFileType != "png" and $imageFileType != "jpeg" and $imageFileType != "gif" ) // если значение переменной $imageFileType не равно (!=) указанным расширениям то выводим сообщение
{
echo "Только JPG, JPEG, PNG & GIF можно загружать. Неверное расширение файла";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Ошибка загрузки файла.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) // Перемещаем файл на сервер
{
echo "Файл ". basename( $_FILES["fileToUpload"]["name"]). " загружен.";
} else {
echo "Ошибка копирования файла.";
}
}
?>
