Выгрузка файла на сайт со страницы сайта | ||
Сегодня мы поговорим о том, как организуется выгрузка файлов различных типов на сайт. Пользователи получают возможность загружать на сайт указанные виды файлов. Это могут быть документы, изображения, музыкальные файлы или что-то еще. |
||
Для начала нужно разместить на некоторой странице сайта форму для выгрузки файла. | ||
Сам код формы выглядит следующим образом - |
||
Форма обязательно должна содержать атрибут enctype="multipart/form-data" и метод отправки
данных для формы должен быть описан как method="post"
Атрибут enctype="multipart/form-data" указывает MIME-тип отправляемых формой данных (Multipurpose Internet Mail Extensions),
а метод отправки post единственно возможный для передачи файлов, т. к. методом get можно отправлять лишь небольшие объёмы информации, а передать
файл невозможно в принципе.
Далее мы просто указываем какой скрипт action="papers/sitecre/upload_file/upload_file.php" должен выполняться для обработки отправляемых формой данных, а также указываем имя и ID для формы. Следующим шагом указывается скрытое поле - , содержащее максимально допустимый размер выгружаемого файла. Если файлы будут очень большого размера, то повышается вероятность нарушения целостности передачи файла, возрастает длительность выгрузки файла и есть опасность ошибок связанных с переполнением допустимого размера файла. Заметим, что размер выгружаемого файла ограничивается не данным значением, а настройками заданными для php на стороне сервера. Следовательно скрипт, который выполняет обработку данного файла должен проверять его размеры и целостность. Следующим пунктом указывается поле input с такими атрибутами - type="file" name="upload_file" accept="text/plain" Т. е. в данное поле будет загружен файл, обратиться к данным файла можно будет по указанному имени name, а атрибут accept указывает тип загружаемого файла - обычный текстовый. Правда данный атрибут поддерживается только некоторыми браузерами, поэтому его указание не обязательно. В завершении указывается кнопка по нажатию на которую происходит отправка выбранного файла. Таким образом пользователь, чтобы выгрузить файл, сначала должен воспользоваться кнопкой Обзор, указав расположение файла на своём ПК, а затем нажать кнопку Отправки, чтобы выгрузить файл на сайт. |
||
Теперь рассмотрим php скрипт, который должен проверить правильность передачи файла и выполнить его дальнейшую обработку - переместить файл
в нужную папку, извчечь из файла какие-либо данные и т. п. |
||
Теперь перейдём к пояснениямfunction read( $cfile, $razd = "|" ) { $open = fopen( $cfile, "a+" ); while (( $dan = fgetcsv( $open, 2048, $razd )) !== false ) { $rec[] = $dan; } return $rec; }так мы запишем небольшую функцию, которая в данном случае будет открывать указанный ей файл с именем $cfile и обрабатывать его как CSV - т. е. текстовый формат представления табличных данных. В качестве разделителя используется указанный символ |. Данная функция полностью преобразует указанный CSV файл в массив. $loc_ru = setlocale(LC_ALL, 'ru_RU@russia', 'ru_RU', 'rus_rus'); данную строку применяем для указания кодировки русских букв, чтобы не было потерь информации при их использовании. $csv_file_size = $_FILES['upload_file']['size']; Этой строкой мы получаем из глобальной переменной $_FILES размер выгруженного файла if ( $csv_file_size == 0 ) Далее следует проверка - если размер файла нулевой - снова выводим форму для выгрузки файла Если размер больше нуля выполняем дальнейшую проверку if ( $_FILES['upload_file']['error'] == UPLOAD_ERR_OK ) Успешно ли прошла выгрузка файла Если успешно - $our_file_extention_correct = FALSE; $upload_file = $_FILES['upload_file']['name']; echo 'Вы загрузили файл '.$upload_file; echo 'Тип файла '.$_FILES['upload_file']['type']; $csv_uploaded_serverside_filename = $_FILES['upload_file']['tmp_name']; Сбрасываем флаг проверки расширения в false, запоминаем и выводим в браузер имя загруженного файла и его тип. Также запоминаем временное имя выгруженного файла на сервере. |
$dot_pos = strrpos($upload_file, "."); Ищем точку в имени файла начиная с конца строки. if ( $dot_pos !== FALSE ) Если точка найдена - $file_extention = substr($csv_import_emails_file, -3); Выбираем последние три символа из имени файла if ( $file_extention == "csv" || $file_extention == "CSV" ) $csv_file_extention_correct = TRUE; И сравниваем с нужным нам расширением if ( !$csv_file_extention_correct ) { echo 'Неверный тип файла, попробуйте еще раз !Назад'; } Если расширение неверное - выводим сообщение об этом Оставшийся код выполняет окончательную обработку информации в файле - в данном примере выводит описания из выгруженного файла на страницу |
|
игра
|
||||||||||
видео-рассказ, уроки godot, виртуальный помощник по поиску информации
|
||||||||||
игры Многоликий: dress - hordes эпизоды с 1 по 4
|
||||||||||
игры, музыкальные клипы
|
||||||||||
музыкальный клип, игры
|
||||||||||
разработка игр, анимационный фильм, новогодняя дискотека 2020 - песни на итальянском, игра про лифт
|
||||||||||
игры, инструменты разработки, анимационный фильм, фильм.
|
||||||||||
игры
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере (3), создание музыки в браузере (1)
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере (3), скачиваемые (1)
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере, скачиваемые игры
|
||||||||||
игры в браузере
|
||||||||||
игры в браузере
|
||||||||||
полезный софт, игры в браузере
|
||||||||||
сервисы, игры
|
||||||||||
игры, программы
|
||||||||||
поздравления, уроки рисования, уроки создания сайтов
|
||||||||||
комиксы, музыка, рассказы
|
||||||||||
игра для разработки, калькулятор услуг, cms, комикс
|
||||||||||
игры для разработки, комиксы
|
||||||||||
игры шарики и ямки, комиксы про Костю Коробкина, ria xxl игра, fly snow 3d генератор эффектов снега, частиц и др. -
|
||||||||||
Создай свою игру на fle game engine -
|
||||||||||
Для создания сайта - модуль отзывов/комментариев для вашего сайта в составе megainformatic cms express files -
|
||||||||||
Уроки Flash, бесплатные Flash - игры.
|
||||||||||
Поддержка сайтом нескольких языков (multi lang), создание собственной системы личных кабинетов, соц. сети или фриланс - биржи (megainformatic cms social), создание сервиса коллективных покупок на базе megainformatic cms groupon, онлайн сервис подсчёта статистики ключевых слов в статьях вашего сайта keywords gen + описание кода данного сервиса, с возможностью бесплатно реализовать его аналог на своём собственном сайте.
megainformatic.ru/webjob/ - сервис для фриланс проектов - место встречи заказчиков и исполнителей |
||||||||||
Социальная сеть megainformatic.ru/webjob/
megainformatic.ru/webjob/ - сервис для фриланс проектов - место встречи заказчиков и исполнителей |
||||||||||
Системы управления сайтом, уроки
megainformatic cms admin - простая и компактная система для работы и управления сайтом |
||||||||||
|
||||||||||
|
||||||||||
megainformatic cms free и серия продуктов - Уроки Photoshop
Данная серия посвящена описанию приемов и методов создания изображений, с помощью инструментария программы Adobe Photoshop. Кроме того, многие описанные средства могут вам помочь при освоении и многих других программ для работы с растровой графикой - GIMP, Corel Photo Paint и других.
|
||||||||||
бесплатные игры 2d и 3d, а также эмулятор Ну, Погоди!
Это серия распространяемых бесплатно игр. Вы не только можете поиграть, но и скачать исходники, получив тем самым возможность внести изменения в игру или создать новую !!! (эмулятор Ну, Погоди! распространяется платно). |
||||||||||
серия игр про Веселого Буквоежку, и бесплатно распространяемая игра Нечто: Необъяснимое - в плену желаний
Здесь представлены новинки жанра - Говорящий Комикс, Настольная игра, А также продукт, который позволит Вам научиться создавать игры самостоятельно. Ну и конечно изюминка в своём роде - бесплатная игра - Нечто: Необъяснимое - в плену желаний |
||||||||||
Серия бесплатных онлайн уроков, посвященных 3ds max, photoshop, c++, directx, delphi и php.
Описаны практические примеры решения различных задач, возникающих при создании игр и сайтов. Продукты Набор разработчика и Ваше Визуальное Шоу распространяются платно. |
||||||||||
уроки и продукты различной тематики
Бесплатные Уроки Photoshop free, Бесплатные Уроки по программированию на delphi directx - Как создать игру Ну, Погоди!, Бесплатная Авторская музыка в формате mp3 - Музыкальные Миры, Платно распространяемый продукт megainformatic cms express - система для быстрого создания Вашего сайта на php + my sql. |
||||||||||
Проекты игр, уроки
Игра Веселый Буквоежка, уроки delphi directx 8.1 для начинающих (описываются основы 3d игр), моделируем девушку в 3d studio max, уроки музыки - пишем музыку в Fruity Loops Studio |
||||||||||
|