Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Как делать UPLOAD файлов на сервер и о возможных глюках.

div.main {margin-left: 20pt; margin-right: 20pt} Как делать UPLOAD файлов на сервер и о возможных глюках.


Что такое FILE UPLOAD?
Это возможность передать файлы с компьютера посетилеля в вашу ПХП программы. Это значит, вы получаете файл(ы) от посетителя и что-либо с ними делаете: ничего (человек в пустую будет upload'ить файл) вывести содержимое на экран (если файл был текстовым) записать файл один к одному в каталог на веб-сервере запихнуть фотку (файл=фото) в базу данных
== 1 ==
(отправка файла)
создайте файл upload.html такого содержимого: Имя файла: (нажмите кнопку ОБЗОР, затем ОТПРАВИТЬ) Получится пустая html-страница, содержащая форму: поле для ввода имени файла (ничего вводить не надо!), кнопку ОБЗОР, которая открывает окошко для выбора файла, кнопка ОТПРАВИТЬ - отправка формы на сервер.

Действия посетителя: юзер нажимает обзор, выбирает файл(ы)
юзер нажимает отправить
"Программер" (вы) можете подредактировать поле ACTION="upload2.phtml" (имя php-программы, принимающей файл) поле name="MAX_FILE_SIZE" value="1000" - размер максимально допустимого размера файла для аплода.


== 2 ==
(прием и использование)
Ваша программа на php (в файле upload2.phtml), чтобы получить отправленный файл НЕ ДОЛЖНА НИЧЕГО ДЕЛАТЬ! Все само! Радуйтесь, товарищи :-)

Перед началом выполнений вашей программы сервер принимает файл, а ПХП-процессор сообщает имя временно файла (переменная $userfile), в котором храниться только что полученный файл. Поэтому вам нужно лишь открыть файл на чтение и считать содержимое. Даже стирать этот временный файл не надо.

Как вывести upload'еный файл на экран? Вот программа (ее надо записать в файл upload2.phtml )
== 3 ==
(о глюках)
Попробуйте аплодить таким способом на сервер бинарные файлы. Скорее всего файлы окажутся "битыми": фотки не будут показываться, программы не запустяться, архивы не распакуются. Текстовые файлы (почти точно) не повредяться. Дело в том, что Русский Апач (ваш веб-сервер) перекодирует все подряд. Например, символ с кодом 0х00 он заменяет на пробел (символ с кодом 0х20). Чтобы выключить эту ненужную перекодировку, допишите в файл httpd.conf из каталога Апача (/usr/local/apache) следующие строки. Если у вас нет доступа к этому файлу и админ сервера не может сделать это за вас, ткните его в эти строки.

CharsetRecodeMultipartForms Off Строку CharsetRecodeMultipartForms Off можно добавлять в разные места (один раз). Если вы совсем начинающий пользователь и не решите сами, куда писать эту строку, будьте аккуратнее при решении задачи методом тыка.

Можно почитать: на счет разных способов вставки данной команды (CharsetRecodeMultipartForms Off)

Можно прочитать данную статью, но написанную другими соловами, другим человеком и на другом сайте - http://www.leosha.f2s.com/php/upload.htm




Вопросы? Пишите: dima@php.spb.ru






  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте