HTML и CSS
Выучить HTML Выучить CSS Выучить Bootstrap Выучить W3.CSS Выучить Colors Выучить Icons Выучить Graphics Выучить SVG Выучить Canvas Выучить How To Выучить SassJavaScript
Выучить JavaScript Выучить jQuery Выучить React Выучить AngularJS Выучить JSON Выучить AJAX Выучить W3.JSПрограммирование
Выучить Python Выучить Java Выучить C++ Выучить C# Выучить Машинное обучениеСерверная сторона
Выучить SQL Выучить PHP Выучить ASP Выучить Node.js Выучить Raspberry PiВеб-строительство
Веб-шаблоны Веб-статистика Веб-сертификаты Веб-редактор Веб-разработка Проверить скорость печатиHTML
HTML Справочник тегов HTML Поддержка браузерами HTML Справочник событий HTML Справочник цветов HTML Справочник атрибутов HTML Canvas Справочник HTML SVG Справочник HTML Наборы символов Google-карты СправочникCSS
CSS Справочник CSS Поддержка браузерами CSS Selector Справочник Bootstrap 3 Справочник Bootstrap 4 Справочник W3.CSS Справочник Icon Справочник Sass СправочникJavaScript
JavaScript Справочник HTML DOM Справочник jQuery Справочник AngularJS Справочник W3.JS СправочникПрограммирование
Python Справочник Java СправочникСерверная сторона
SQL Справочник PHP Справочник ASP СправочникXML
XML Справочник XML Http Справочник XSLT Справочник XML Schema СправочникУпражнения
HTML Упражнения CSS Упражнения JavaScript Упражнения SQL Упражнения PHP Упражнения Python Упражнения jQuery Упражнения Bootstrap Упражнения Java Упражнения C++ УпражненияPHP Учебник
PHP СТАРТ PHP Введение PHP Установка PHP Синтаксис PHP Комментарии PHP Переменные PHP Echo / Print PHP Типы данных PHP Строки PHP Числа PHP Константы PHP Операторы PHP If...Else...Elseif PHP Switch PHP Циклы PHP Функции PHP Массивы PHP Глобальные переменныеPHP Формы
PHP Обработка форм PHP Проверка формы PHP Обязательные поля формы PHP Форма URL/E-mail PHP Полная формаPHP Продвинутый
PHP Дата и время PHP Подключение файлов PHP Обработка файлов PHP Файл Открыть/Читать PHP Файл Создать/Записать PHP Загрузка файлов PHP Cookies PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP JSONPHP OOP
PHP Что такое OOP PHP Классы/Объекты PHP Конструктор PHP Деструктор PHP Модификаторы доступа PHP Наследование PHP Константы PHP Абстрактные классы PHP Черты PHP Статические Методы PHP Статические свойстваMySQL База данных
MySQL База данных MySQL Коннект MySQL Создать DB MySQL Создать таблицы MySQL Вставить данные MySQL Получить последний ID MySQL Вставить несколько MySQL Подготовленный MySQL Выбрать данные MySQL Where MySQL Сортировать MySQL Удалить данные MySQL Обновить данные MySQL Ограничить данныеPHP XML
PHP XML Парсеры PHP SimpleXML Парсер PHP SimpleXML - Получить PHP XML Expat PHP XML DOMPHP - AJAX
AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой поиск AJAX ОпросPHP Примеры
PHP Примеры PHP Викторина PHP Упражнения PHP СертификацияPHP Справочник
PHP Обзор PHP Массивcurrent() getchildren() haschildren() key() next() rewind() valid()
PHP Загрузка файлов
С помощью PHP легко загружать файлы на сервер.
Однако с легкостью возникает опасность, поэтому всегда будьте осторожны при загрузке файлов!
Настройте файл "php.ini"
Во-первых, убедитесь, что PHP настроен на загрузку файлов.
В файле "php.ini" найдите директиву file_uploads
и установите для нее значение On:
file_uploads = On
Создать HTML форму
Затем создайте HTML-форму, которая позволит пользователям выбирать файл изображения, который они хотят загрузить:
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post"
enctype="multipart/form-data">
Выберите изображение для загрузки:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
Некоторые правила для HTML-формы выше:
- Убедитесь, что форма использует method="post"
- Форма также нуждается в следующем атрибуте: enctype="multipart/form-data". Он указывает, какой тип контента использовать при отправке формы
Без вышеуказанных запросов загрузка файла не будет работать.
Также обратите внимание:
- Атрибут type="file" тега <input> показывает поле ввода в качестве элемента управления выбора файла с кнопкой "Browse" рядом с элементом управления вводом
Приведенная выше форма отправляет данные в файл с именем "upload.php", который создаётся следующим.
Создать PHP скрипт для загрузки файла
Файл "upload.php" содержит код для загрузки файла:
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType =
strtolower(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;
}
}
?>
Объяснение PHP скрипта:
- $target_dir = "uploads/" - указывает каталог, в который будет помещен файл
- $target_file указывает путь к файлу для загрузки
- $uploadOk=1 еще не используется (будет использоваться позже)
- $imageFileType содержит расширение файла (в нижнем регистре)
- Затем проверьте, является ли файл изображения фактическим изображением или поддельным изображением.
Примечание: Вам нужно будет создать новый каталог с именем "uploads" в каталоге, где находится файл "upload.php". Загруженные файлы будут сохранены там.
Проверьте, существует ли файл уже
Теперь мы можем добавить некоторые ограничения.
Сначала мы проверим, существует ли файл в папке "uploads" Если это так, отображается сообщение об ошибке, и $uploadOk устанавливается в 0:
// Проверьте, существует ли файл
if (file_exists($target_file)) {
echo "Извините, файл уже существует.";
$uploadOk = 0;
}
Ограничить размер файла
Поле ввода файла в нашей HTML-форме называется "fileToUpload".
Теперь необходимо проверить размер файла. Если размер файла превышает 500 КБ, отображается сообщение об ошибке, и $uploadOk имеет значение 0:
// Проверить размер файла
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Извините, ваш файл слишком большой.";
$uploadOk = 0;
}
Ограничить тип файла
Приведенный ниже код позволяет пользователям загружать только файлы JPG, JPEG, PNG и GIF. Все другие типы файлов выдают сообщение об ошибке перед установкой $uploadOk в 0:
// Разрешить определенные форматы файлов
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Извините, только JPG, JPEG, PNG & GIF файлы разрешены.";
$uploadOk = 0;
}
Полный PHP скрипт загрузки файла
Полный файл "upload.php" выглядит так:
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType =
strtolower(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" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Извините, только JPG, JPEG, PNG & GIF файлы разрешены.";
$uploadOk = 0;
}
// Проверить, не установлен ли $uploadOk в 0 по ошибке
if ($uploadOk == 0) {
echo "Извините, ваш файл не был загружен.";
// если все в порядке, попробуйте загрузить файл
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "Файл ". basename( $_FILES["fileToUpload"]["name"]). " был загружен.";
} else {
echo "Извините, при загрузке файла произошла ошибка.";
}
}
?>
Полный справочник по файловой системе PHP
Для более полного ознакомления с функциями файловой системы, перейдите к полному PHP Справочнику файловой системы на нашем сайте.
Ваше предложение:
Спасибо за Вашу помощь!
Ваше сообщение было отправлено в W3Schools.
Сайт работает на фреймворке W3.CSS.
