П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое







Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 98147 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 29068 раз(а).

Учебник HTML.
Просмотров 56194 раз(а).

Руководство по PHP5.
Просмотров 25934 раз(а).

Хостинг через призму DNS.
Просмотров 30464 раз(а).

Подборка текстов стандартных документов.
Просмотров 28973 раз(а).

Учебник PHP - Самоучитель
Просмотров 33695 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 34979 раз(а).

Внешние атаки...
Просмотров 26948 раз(а).

Учебник PHP.
Просмотров 22780 раз(а).

SSI в примерах.
Просмотров 17853 раз(а).



 
 



Учебник РНР
Назад Глава 19. Обработка загрузки файлов Вперёд

Поддержка метода PUT

PHP поддерживает HTTP-метод PUT, используемый такими клиентами, как Netscape Composer и W3C Amaya. PUT-запросы намного проще, чем загрузка файлов и выглядят примерно так:

PUT /path/filename.html HTTP/1.1

Нормально это должно означать, что удалённый клиент хотел бы сохранить содержимое /path/filename.html в вашем web-дереве. Для Apache или PHP, очевидно, не очень-то здорово разрешить любому автоматически перезаписывать любые файлы в вашем web-дереве. Поэтому, чтобы обрабатывать такие запросы, вы должны сначала указать вашему web-серверу, что вы хотите, чтобы определённый PHP-скрипт обрабатывал запрос. В Apache вы делаете это директивой Script. Она может быть размещена почти в любом месте файла конфигурации вашего Apache. Обычно это в блоке <Directory> или, возможно, в блоке <Virtualhost>. Строка типа этой выполняет трюк:

Script PUT /put.php

Это указывает серверу Apache, что нужно отправить все PUT-запросы по URI, которые совпадают с контекстом, в котором вы поместили эту строку в скрипт put.php. Это предполагает, разумеется, что PHP включён для расширений .php и что PHP активен.

В файле put.php вы можете тогда записать что-нибудь такое:

<?php copy($PHP_UPLOADED_FILE_NAME,$DOCUMENT_ROOT.$REQUEST_URI); ?>

Это скопирует файл в место, запрошенное удалённым клиентом. Вы, возможно, захотите выполнить какую-нибудь проверку и/или аутентифицировать пользователя, прежде чем выполнить копирование файла. Трюк состоит в том, что, когда PHP видит запрос методом PUT, он сохраняет загруженный файл во временной директории, как и при работе методом POST. Когда запрос завершается, этот временный файл удаляется. Поэтому ваш РНР-скрипт обработки PUT должен скопировать файл куда-нибудь. Имя этого временного файла находится в переменной $PHP_PUT_FILENAME, а предполагаемое имя файла назначения можно найти в $REQUEST_URI (может называться иначе на не-Apache web-серверах). Это имя файла, специфицированное удалённым клиентом. Вам не нужно прослушивать этот клиент. Вы можете, например, скопировать все загруженные файлы в специальную директорию.


Назад Оглавление Вперёд
Загрузка нескольких файлов Вверх Использование удалённых файлов


 





Copyright © 2005-2011 Project.Net.Ru