Главная Свежие Последние Лучшие Контактная информация  
 
 


Возможности » Использование удалённых/remote файлов
Если поддержка "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-сайта.

Пример 20-1. Получение названия/title удалённой страницы
<?php
$file = fopen ("http://www.example.com/", "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
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-аутентификация.)

Пример 20-2. Сохранение данных на удалённом сервере
<?php
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!$file) {
echo "<p>Unable to open remote file for writing.\n";
exit;
}
/* Здесь записываются данные. */
fputs ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>



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

Добавить в закладки:

 

теги: upload
 

  Еще статьи
::(два двоеточия) 90
Календарь: unixtojd 181
Циклы while 174
CCVS: ccvs_lookup 79
Конструкторы 89
 


  Категории
Начнем 13
Справочник языка 89
Возможности 12
Функции 142
Расширение PHP 4.0 0
FAQ 0
 

  Теги
 

  Лучшее на сайте
Безопасность: Скрытие PHP 472
Что такое PHP? 446
Безопасность: Данные, отправляемые пользователем 373
foreach 353
Безопасность: Безопасность баз данных 333
Файл конфигурации 332
Операции: Строковые операции 310
Безопасность: CGI-двоичный 305
Безопасность: Безопасность файловой системы 297
Безопасность: Обзор 291
 

  Друзья сайта
щебень, цена на песок карьерный, поставки песка,, морского в СПб
садовые скамейки
 

  Интересное
 

 
Использование материалов только при активной гиперссылке "http://iamcoder.net"
Copyright 2008 http://iamcoder.net Серия сайтов: "Стань умным!".