Презентация Загрузка файлов по протоколу HTTP онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Загрузка файлов по протоколу HTTP абсолютно бесплатно. Урок-презентация на эту тему содержит всего 45 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Загрузка файлов по протоколу HTTP
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:45 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:118.16 kB
- Просмотров:108
- Скачиваний:6
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
![MIME MIME произн. майм ,](/documents_6/70316c602c3b805339b9d18e56369f0b/img2.jpg)
Содержание слайда: MIME
MIME (произн. «майм», англ. Multipurpose Internet Mail Extensions — многоцелевые расширения интернет-почты) — спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету.
Формат MIME поддерживает передачу нескольких сущностей в пределах одного сообщения.
Для обозначения множественного содержимого используются медиатипы, обозначающие составные типы данных: multipart/*.
№4 слайд
![Некоторые MIME-типы](/documents_6/70316c602c3b805339b9d18e56369f0b/img3.jpg)
Содержание слайда: Некоторые MIME-типы
Внутренний формат прикладной программы:
application/json: JavaScript Object Notation JSON
application/javascript: JavaScript
application/octet-stream: двоичный файл без указания формата
application/ogg: Ogg
application/pdf: Portable Document Format, PDF
application/postscript: PostScript
application/xhtml+xml: XHTML
application/zip: ZIP
application/x-gzip: Gzip
№8 слайд
![Множественное содержимое](/documents_6/70316c602c3b805339b9d18e56369f0b/img7.jpg)
Содержание слайда: Множественное содержимое
Множественное содержимое (Multipart Content) – наличие больше одного типа данных в едином теле запроса.
Перед каждой порцией содержимого обязан быть разделитель (boundary), представляющий собой случайный набор символов латиницы.
Наименование разделителя указывается в заголовке Content-Type в основном заголовке запроса.
№9 слайд
![Множественное содержимое](/documents_6/70316c602c3b805339b9d18e56369f0b/img8.jpg)
Содержание слайда: Множественное содержимое
Subject: = Тема письма
Content-Type: multipart/mixed;
boundary="----==--bound.402108.web37j.yandex.ru"
------==--bound.402108.web37j.yandex.ru
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset=utf-8
<div>Текст письма в HTML</div>
------==--bound.402108.web37j.yandex.ru
Content-Disposition: attachment;
filename=“notation.svg"
Content-Transfer-Encoding: base64
Content-Type: image/svg+xml;
name="notation.svg"
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5…
№10 слайд
![Множественное содержимое POST](/documents_6/70316c602c3b805339b9d18e56369f0b/img9.jpg)
Содержание слайда: Множественное содержимое
POST /send-message.html HTTP/1.1
Host: webmail.example.com
Referer: http://webmail.example.com/send-message.html
User-Agent: BrowserForDummies/4.67b
Content-Type: multipart/form-data; boundary=Asrf456BGe4h
Content-Length: (суммарный объём, включая дочерние заголовки)
Connection: keep-alive
Keep-Alive: 300
(пустая строка)
(отсутствующая преамбула)
--Asrf456BGe4h
Content-Disposition: form-data; name="DestAddress"
(пустая строка)
brutal-vasya@example.com
--Asrf456BGe4h
Content-Disposition: form-data; name="MessageTitle"
(пустая строка)
Я негодую
№11 слайд
![Атрибут enctype у форм](/documents_6/70316c602c3b805339b9d18e56369f0b/img10.jpg)
Содержание слайда: Атрибут enctype у форм
Определяет способ кодирования данных формы при их отправке на сервер. Обычно устанавливать значение атрибута enctype не требуется. Однако если используется поле для отправки файла (input type="file"), следует определить атрибут enctype как multipart/form-data.
№12 слайд
![Атрибут enctype у форм](/documents_6/70316c602c3b805339b9d18e56369f0b/img11.jpg)
Содержание слайда: Атрибут enctype у форм
application/x-www-form-urlencoded
Вместо пробелов ставится +, символы в нестандартных кодировках (например на кириллице) кодируются их шестнадцатеричными значениями (например, %D0%90%D0%BD%D1%8F вместо Аня).
multipart/form-data
Данные не кодируются. Это значение применяется при отправке файлов.
text/plain
Пробелы заменяются знаком +, буквы и другие символы не кодируются.
№15 слайд
![Общий вид формы загрузки](/documents_6/70316c602c3b805339b9d18e56369f0b/img14.jpg)
Содержание слайда: Общий вид формы загрузки файла
<form action="upload.php" method="POST" enctype="multipart/form-data">
<!—
Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла
-->
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<!–
Название элемента input определяет имя в массиве $_FILES
-->
<input type="file" name="myFile">
<input type="submit" value="Загрузить">
</form>
№16 слайд
![Обработка файла на сервере](/documents_6/70316c602c3b805339b9d18e56369f0b/img15.jpg)
Содержание слайда: Обработка файла на сервере
PHP-интерпретатор, получив файл на сервере, сохраняет его во временную директорию (обычно /tmp, но зависит от типа ОС и настроек PHP).
Во временной директории файл хранится под новым уникальным именем.
После завершения работы скрипта, временный файл будет удалён.
№17 слайд
![Индексы массива FILES myFile](/documents_6/70316c602c3b805339b9d18e56369f0b/img16.jpg)
Содержание слайда: Индексы массива $_FILES[‘myFile’]
Для каждого файла в среде PHP создаётся глобальный массив $_FILES[имя_файлового_поля], в котором существует 5 индексов.
$_FILES['myFile']['name'] - имя файла до его отправки на сервер, например, pict.gif;
$_FILES['myFile']['size'] - размер принятого файла в байтах;
$_FILES['myFile']['type'] - MIME-тип принятого файла (если браузер смог его определить), например: image/gif, image/png, image/jpeg, text/html;
$_FILES['myFile']['tmp_name'] - содержит имя файла во временном каталоге, например: /tmp/phpV3b3qY;
$_FILES['myFile']['error'] - Код ошибки, которая может возникнуть при загрузке файла. Ключ ['error'] был добавлен в PHP 4.2.0. С соответствующими кодами ошибок вы можете ознакомиться здесь.
№18 слайд
![Директивы конфигурационного](/documents_6/70316c602c3b805339b9d18e56369f0b/img17.jpg)
Содержание слайда: Директивы конфигурационного файла php.ini
file_uploads - Разрешать или не разрешать закачивание файлов;
upload_tmp_dir string - Временная директория, используемая для хранения файлов во время закачивания. Должна быть доступна для записи пользователю, от имени которого запущен PHP. Если не указана, используется директория по умолчанию для вашей системы;
upload_max_filesize - Максимальный размер закачиваемого файла;
max_file_uploads - Максимально разрешенное количество одновременно закачиваемых файлов;
post_max_size - Устанавливает максимально допустимый размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов. Для загрузки больших файлов это значение должно быть больше значения директивы upload_max_filesize;
№19 слайд
![Перемещение временного файла](/documents_6/70316c602c3b805339b9d18e56369f0b/img18.jpg)
Содержание слайда: Перемещение временного файла
bool move_uploaded_file(string $filename, string $destination)
Функция проверяет, является ли файл filename загруженным на сервер (переданным по протоколу HTTP POST). Если файл действительно загружен на сервер, он будет перемещён в место, указанное в аргументе destination.
№20 слайд
![Скрипт загрузки файла lt ?php](/documents_6/70316c602c3b805339b9d18e56369f0b/img19.jpg)
Содержание слайда: Скрипт загрузки файла
<?php
$uploadfile = dirname(__FILE__).”/”.basename($_FILES['myFile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['myFile']['tmp_name'], $uploadfile)){
echo "Файл корректен и был успешно загружен.\n";
}
else{
echo "Возможная атака с помощью файловой загрузки!\n";
}
echo 'Некоторая отладочная информация:';
print_r($_FILES);
print "</pre>";
?>
№21 слайд
![Загрузка нескольких файлов lt](/documents_6/70316c602c3b805339b9d18e56369f0b/img20.jpg)
Содержание слайда: Загрузка нескольких файлов
<form action="" method="post" enctype="multipart/form-data"> <p>Изображения:
<input type="file" name="pictures[]" /> <input type="file" name="pictures[]" /> <input type="file" name="pictures[]" /> <input type="submit" value="Отправить" /> </p> </form>
№26 слайд
![Функция dirname string](/documents_6/70316c602c3b805339b9d18e56369f0b/img25.jpg)
Содержание слайда: Функция dirname
string dirname ( string $path )
Получив строку, содержащую путь к файлу или каталогу, функция возвратит родительский каталог данного пути.
<?php
echo "1) " . dirname("/etc/passwd") . PHP_EOL;
// 1) /etc
echo "2) " . dirname("/etc/") . PHP_EOL;
// 2) / (или \ на Windows)
echo "3) " . dirname(".");
// 3) .
?>
№27 слайд
![Функция realpath string](/documents_6/70316c602c3b805339b9d18e56369f0b/img26.jpg)
Содержание слайда: Функция realpath
string realpath ( string $path )
Раскрывает все символические ссылки, переходы типа '/./', '/../' и лишние символы '/' в пути path, возвращая канонизированный абсолютный путь к файлу.
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>
Результат:
/etc/passwd
№32 слайд
![Функция readdir string](/documents_6/70316c602c3b805339b9d18e56369f0b/img31.jpg)
Содержание слайда: Функция readdir()
string readdir ([ resource $dir_handle ] )
Возвращает имя следующего по порядку элемента каталога. Элементы возвращаются в том порядке, в котором они хранятся в файловой системе.
Возвращает имя элемента каталога в случае успеха или FALSE в случае возникновения ошибки.
Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE. Используйте оператор === для проверки значения, возвращаемого этой функцией.
№33 слайд
![Функция closedir void](/documents_6/70316c602c3b805339b9d18e56369f0b/img32.jpg)
Содержание слайда: Функция closedir()
void closedir ([ resource $dir_handle ] )
Закрывает поток, связанный с каталогом и переданный в качестве параметра dir_handle. Перед использованием данной функции, поток должен быть открыт с помощью функции opendir().Возвращает имя элемента каталога в случае успеха или FALSE в случае возникновения ошибки.
№34 слайд
![Пример открыть каталог,](/documents_6/70316c602c3b805339b9d18e56369f0b/img33.jpg)
Содержание слайда: Пример: открыть каталог, считать файлы
<?php
$dir = "/etc/php5/";
// Открыть известный каталог и начать считывать его содержимое
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "файл: " . $file;
echo " тип: ". filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
?>
№36 слайд
![Объяснение сообщений об](/documents_6/70316c602c3b805339b9d18e56369f0b/img35.jpg)
Содержание слайда: Объяснение сообщений об ошибках
PHP возвращает код ошибки наряду с другими атрибутами принятого файла. Он расположен в массиве, создаваемом PHP при загрузке файла, и может быть получен при обращении по ключу error. Другими словами, код ошибки можно найти в $_FILES['userfile']['error'].
№45 слайд
![Лабораторная работа .](/documents_6/70316c602c3b805339b9d18e56369f0b/img44.jpg)
Содержание слайда: Лабораторная работа
1. Написать скрипт, позволяющий загружать несколько файлов в текущую директорию на сервере. Выбрать MIME-тип содержимого и максимальный размер.
2. Создать скрипт для вывода файлов на экран с возможностью удаления любого файла.
3. Предусмотреть защиту от взлома.
Скачать все slide презентации Загрузка файлов по протоколу HTTP одним архивом:
Похожие презентации
-
Работа с загрузкой файлов в PHP
-
HTTP-протокол. (Лекция 21)
-
Файловый тип данных Turbo Pascal
-
Файловый Менеджер
-
Файловый ввод/вывод в С
-
Использование текстовых файлов в Паскале
-
Обработка файловых структур данных
-
Традиционный подход к вебпрограммированию на основе перезагрузки страницы. Тема 9
-
Доклад (отчет по практической работе) «Основные форматы звуковых и видео файлов»
-
Организация файлового ввода/вывода. Лекция 23