Использование удалённых/remote файлов
Примечание: Windows-версия PHP в настоящее время не поддерживает удалённый доступ к файлам для следующих функций: include(), include_once(), require(), require_once().
Например, вы можете использовать это для того, чтобы открыть файл на удалённом web-сервере, разобрать вывод данных, а затем использовать эти данные в запросе к БД или просто вывести их в стиле вашего web-сайта.
Пример: Получение названия/title удалённой страницы
$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-аутентификация.)
Пример: Сохранение данных на удалённом сервере
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w"); if (!$file) { echo "Unable to open remote file for writing. "; exit; } /* Здесь записываются данные. */ fputs ($file, $_SERVER['HTTP_USER_AGENT'] . " "); fclose ($file);
Примечание: из этого примера у вас может возникнуть идея использовать эту технику для записи в удалённый log, но, как указано выше, вы можете записывать только в новый файл с использованием оболочек URL fopen(). Для выполнения распределённого логинга, вроде этого, вы должны просмотреть syslog().
Комментарии