Новые книги

Почему люди не понимают друг друга? Почему даже самые понятные и четкие ваши аргументы или идеи вызывают иногда у других ярое сопротивление или недоверие? Как сделать так, чтобы ваши доводы были услышаны и приняты?

С несогласием, возражениями и вопросами мы встречаемся постоянно. Мы слышим их от клиентов и партнеров по бизнесу, от друзей и знакомых, от родных и близких. Иногда мы не знаем, что и как сделать, чтобы нас поняли и приняли нашу точку зрения.

Книга адресована тем, кто по роду своей деятельности постоянно находится в контакте с людьми: продавцам, менеджерам, руководителям различного ранга, психологам, бизнес-консультантам, тренерам и всем, кто хотел бы быть более успешным в бизнесе и жизни. Здесь вы найдете множество идей превращения «нет» в «да».
Книга знакомит читателей с эффективными, но практически незаметными непосвященным способами успешной манипуляции людьми и рассматривает множество уловок, к которым прибегают в сфере торговли и рекламы. Книга адресована студентам — будущим психологам, практикующим психологам, а также всем, кто интересуется методами воздействия на сознание и законами взаимного влияния людей при общении.

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

Учебник РНР
Назад Глава 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-серверах). Это имя файла, специфицированное удалённым клиентом. Вам не нужно прослушивать этот клиент. Вы можете, например, скопировать все загруженные файлы в специальную директорию.


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