Главная страница статей --> Советы по фотошопу, графике и хитрости в построении php кода

Использование удалённых/remote файлов

Источник: realcoding.net

Если поддержка URL fopen-оболочки/wrapper включена при конфигурировании PHP (если вы только не передали явным образом флаг --disable-url-fopen-wrapper для конфигурирования (для версий, новее 4.0.3) или не установили allow_url_fopen в off в файле php.ini (для более новых версий)), вы можете использовать HTTP и FTP- URLы с большинством функций, которые принимают filename/имя файла в качестве параметра, в том числе - операторы require() и include().

Примечание: Windows-версия PHP в настоящее время не поддерживает удалённый доступ к файлам для следующих функций: include(), include_once(), require() require_once().

Например, вы можете использовать это для того, чтобы открыть файл на удалённом web-сервере, разобрать вывод данных, а затем использовать эти данные в запросе к БД или просто вывести их в стиле вашего web-сайта.

Пример: Получение названия/title удалённой страницы

<?php
 $file = fopen ("http://www.example.com/", "r");
 if (!$file) {
 echo "<p>Unable to open remote file.
 ";
 exit;
 }
 while (!feof ($file)) {
 $line = fgets ($file, 1024);
 /* Это будет работать, только если title и его тэги расположены в одной строчке   */
 if (eregi ("<title>(.*)</title>", $line, $out)) {
 $title = $out[1];
 break;
 }
 }
 fclose($file);
?>

Вы можете также записывать в файлы по FTP, если соединены как пользователь с корректными правами доступа и если файл ещё не существует. Для соединения как любой пользователь, кроме anonymous, вам необходимо специфицировать username (и, возможно, password) в URL, как, например: ftp://user:password@ftp.example.com/path/to/file. (Вы можете использовать тот же синтаксис для доступа к файлам по HTTP, если необходима Basic-аутентификация.)

Пример: Сохранение данных на удалённом сервере

<?php
 $file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
 if (!$file) {
 echo "<p>Unable to open remote file for writing.
 ";
 exit;
 }
 /* Здесь записываются данные. */
 fputs ($file, $_SERVER[HTTP_USER_AGENT] . "
 ");
 fclose ($file);
?>

Примечание: из этого примера у вас может возникнуть идея использовать эту технику для записи в удалённый log, но, как указано выше, вы можете записывать только в новый файл с использованием оболочек URL fopen(). Для выполнения распределённого логинга, вроде этого, вы должны просмотреть syslog().



Похожие статьи:
- ASP.NET 2.0. Обзор новых сервисов, элементов управления и средств (2 часть)
- Основы работы с MySQL в PHP
- Настройка, установка CGI скрипта
- Жемчужина PERL: мощь C++ и простота Basic
- Установка Perl под Windows
- Установка PHP
- PHP против ASP - В примерах, господа!
- Функции тестирования в PHP-проектах
- Эффект буквицы
- Сайт изнутри
- Маленькие хитрости
- Повышаем индекс цитирования или выгодный обмен ссылками
- Немного о OPML (формат для создания списка RSS каналов)


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |

Контакты
Редакция:
[0.002]