Задание
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 "Ошибка копирования файла."; } } ?>