3aгpyзкa файлов на ваш Web-сайт

Если вам нужен интерфейс для загрузки файлов на ваш Web-сайт с удаленного компьютера, то вы можете создать его из двух частей: формы и сценария РНР. В этой главе вы узнаете, как выполнить следующие действия:

  • Создать HTML-форму для загрузки файлов;
  • Создать PHP-сценарий для управления загрузкой файлов.
  • Что тaкoe зaгpyзкa файла на Web-сервер?

    Процесс загрузки файла на Web-сервер через HTML-форму является загадкой для многих людей. Уделим немного времени для объяснения этого процесса.

    Чтобы начать процесс загрузки, вам необходимо следующее:

  • HTML-форма;
  • Файл для загрузки;
  • Место под загружаемый файл;
  • Сценарий, который поместит файл в назначенное ему место.
  • Сам по себе процесс загрузки представляет собой следующую последовательность действий:

  • Пользователь загружает HTML-форму и видит текстовое поле ввода и кнопку Обзор на своем Web-браузере;
  • Пользователь нажимает кнопку Обзор и, просматривая файлы на своем компьютере, выбирает файл, который хочет загрузить;
  • Полный путь к выбранному для загрузки файлу появится в поле ввода формы;
  • Пользователь нажимает кнопку Загрузить на сервер;
  • Выбранный файл передается на Web-сервер и помещается во временную папку;
  • Сценарий РНР, используемый для обработки формы, проверяет, был ли файл отправлен, и выполняет команду копирования файла, хранящегося во временной папке, чтобы переместить его в существующую папку на Web-сервере;
  • Сценарий РНР подтверждает пользователю, что операция загрузки завершена.
  • Пользователь РНР (пользователи, которые запустили РНР, с такими именами, как "nobody", "www" или "joe") должны иметь право записи файла во временную папку, так же как и в результирующую папку.

    В следующем знакомстве мы начнем создание простой HTML-формы.

    Создание формы

    Начнем создание формы с одним полем ввода. Вы можете создать форму для загрузики такого количества файлов, которое впоследствии планируете получать, используя последовательность действий при работе с одним файлом.

  • Создайте с помощью текстового редактора новый файл.
  • Введите следующий код HTML:
  • Чтобы начать форму с использованием метода post и сценария с именем do_upload.php в качестве действия, введите строку:
  • Параметр ENCTYPE используется потому, что мы будем отправлять больше, чем просто текст. Предположим, что вы будете загружать файл с изображением, поэтому назовем поле ввода имени файла в форме img1.

  • Создайте поле ввода с подписью Файл для загрузки:
  • Параметр TYPE="file" в поле ввода формы будет отображаться, как попе ввода с кнопкой Обзор. Кнопка Обзор запускает файловый менеджер, с помощью которого вы можете выбрать файл для загрузки.

  • Добавьте кнопку Загрузить на сервер:
  • Завершите форму и HTML-документ:
  • Сохраните созданный файл с именем upload_form.html в папке для документов вашего Web-сервера. Запустите свой Web-браузер, в поле ввода Адрес введите,
  • http://localhost/upload_form.html

    и нажмите клавишу Enter.

    Браузер загрузит страницу Загрузка файла (Рис. 6.1).

    Рис. 6.1. Страница Загрузка файла

    На Рис. 6.2 вы видите форму загрузки файла с полем ввода и кнопками Обзор и Загрузить на сервер. В следующем упражнении вы создадите сценарий для обработки этой формы.

    Создание сценария загрузки.

    Перед началом создания сценария запомните список переменных, которые создаются автоматически после успешной загрузки файла. Основная часть имени переменных - img1 - является именем поля ввода созданной в предыдущем знакомстве формы.

  • $img1 - значение ссылается на временный файл на Web-сервере.
  • $img1_name - значение является действительным именем файла, который был загружен. Например, если имя файла было me.jpg, то значение $img1_name будет me.jpg.
  • $img1_size - значение является длиной загруженного файла в байтах.
  • $img1_type — значение является типом загруженного файла, таким как image/jpg.
  • Целью создаваемого сценария является следующее: взять загруженный файл, скопировать его в папку для документов Web-сервера и вернуть подтверждающее сообщение пользователю, содержащее все переменные из указанного выше списка.

  • Создайте с помощью текстового редактора новый файл.
  • Начните блок РНР:
  • Начните оператор if. . .else, проверяющий значение переменной $img1_name:
  • Если значение $imgl_name не пустое, нужно выполнить функцию копирования. Применим символ @ перед именем функции, чтобы подавить предупреждения, и используем функцию die( ), чтобы вызвать завершение сценария и отобразить сообщение о том, что функция сору( ) закончилась неудачей:

  • Откройте главную папку вашего Web-сервера - Z:/home/localhost/www и создайте в ней новую папку с именем myWebSite.
  • Продолжите оператор if. . .else, чтобы обработать случай отсутствия файла для загрузки:
  • Продолжите ввод оператора if. . .else и закончите РНР-блок:
  • Добавьте НТМL-код:
  • Чтобы вывести на экран строку с информацией о загруженном файле (имя, размер, тип), добавьте строку:
  • Завершите HTML-блок:
  • Сохраните созданный файл с именем do_upload.php в папке для документов вашего Web-сервера.
  • Созданный вами файл должен выглядеть так, как показано на Рис. 6.2.
  • Рис. 6.2. Файл сценария do_upload.php

    Загрузкa файла с помощью формы и сценария

    Теперь, когда вы создали форму и сценарий для загрузки файла, проверим, как все это работает.

    Запустите свой Web-браузер, в поле ввода Адрес введите

    http://localhost/upload_form.html

    и нажмите клавишу Enter. Браузер загрузит страницу Загрузка файла (Рис. 6.1). Нажмите кнопку Обзор. На экране появится диалог Выбор файла (Рис. 6.3).

    Рис. 6.3. Диалог Выбор файла

  • Используя этот диалог, найдите на своем компьютере любой файл с изображением размером не более 2 Мбайт, выберите его и нажмите кнопку Открыть. Диалог Выбор файла закроется, а имя выбранного файла с полным путем будет помещено в поле ввода Файл для загрузки.
  • Нажмите кнопку Загрузить на сервер. По окончании загрузки в рабочем окне браузера появится сообщение об успешном ее завершении (Рис. 6.4).
  • Рис. 6.4. Сообщение об успешном завершении загрузки файла

    Файл pic6_3.gif был выбран для примера, имя вашего файла будет отличаться от использованного здесь имени.

  • Чтобы убедиться, что файл действительно был загружен, выполните следующие действия:
  • Выберите команду меню браузера Файл/Открыть. На экране появится диалог Открыть (Рис. 6.5)
  • .

    Рис. 6.5. Диалог Открыть
  • В поле ввода Открыть введите полный путь к загруженному файлу, в нашем случае это F:\WebServers\home\localhost\www\myWebSite, и нажмите клавишу Enter.
  • Окно браузера отобразит загруженный на ваш Web-сервер файл (Рис. 6.6).

    Рис. 6.6. Файл, который был загружен с использованием созданного сценария

    Для поиска файла вы также можете использовать кнопку Обзор диалога Oткрыть (Рис. 6.6).

    Простой счетчик обращений

    Сценарий, который вам предстоит создать в этом упражнении, подсчитывает количество обращений к web-странице, на которой он находится.

  • Создайте с помощью текстового редактора новый файл
  • Начните блок PHP
  • Создайте переменную $access и присвойте ей имя файла hits.txt, в котором будет храниться значение счетчика (имя файла можно выбрать произвольно).
  • Используйте функцию file( ) для чтения содержимого $access в массив $visits, а также используйте префикс @ перед именем функции (@file($access)) для подавления сообщения о возможных ошибках (например, отсутствие файла с заданным именем).
  • Присвойте переменной $current_visitors значение первого и единственного элемента массива $visits.
  • Увеличьте значение счетчика обращений $current_visitors на 1
  • Откройте файл $access = "hits.txt" для записи и установите указатель текущей позиции в начало файла.
  • Запишите новое значение счетчика $current_visitors в файл $access = "hits.txt".
  • Закройте манипулятор, ссылающийся на файл $access = "hits.txt".
  • Закончите РНР-блок:
  • Добавьте HTML-код:
  • Чтобы вывести на экран строку с информацией о количестве пользователей, посетивших страничку, добавьте строку:
  • Завершите HTML-блок:
  • Сохраните созданный файл с именем nomer.php в папке для документов вашего Web-сервера.
  • Полный листинг, созданного вами файла, должен выглядеть так как приведенный листинг на рис. 6.7

    Рис 6.7. Листинг счетчика обращений к Web-страничке.

  • Запустите браузер, в поле Адрес введите
  • http://localhost/nomer.php

    и нажмите клавишу Enter. В рабочее окно браузера будет загружена страничка с сообщением о количестве обращений к ней. Нажмите несколько раз на кнопку Обновить, имитируя новые обращения к страничке. Счетчик на страничке будет исправно подсчитывать все новые и новые обращения к ней (рис 6.8).

    Рис 6.8 Страничка подсчитывающая своих пользователей



    Hosted by uCoz