downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Connection handling> <PUT method support
Last updated: Fri, 18 Sep 2009

view this page in

Използване на отдалечени файлове

Ако настройката allow_url_fopen от php.ini е включена, можете да използвате HTTP и FTP URL с повечето от функциите, които приемат име на файл като параметър. Също така URL може да бъде използвано със заявките include(), include_once(), require() и require_once() (от версия 5.2.0 нататък, опцията allow_url_include трябва да е активна за да се използват последните). Вижте List of Supported Protocols/Wrappers за повече информация относно протоколите, които поддържа PHP.

Забележка: В PHP 4.0.3 и по-стари версии, за да използвате URL опаковка, беше задължително да конфигурирате PHP с опцията --enable-url-fopen-wrapper.

Забележка: Версиите на PHP за Windows по-стари от 4.3 не поддържаха достъп до отдалечен файл със следните функции: include(), include_once(),require(), require_once(), както и функциите на imagecreatefromXXX от разширението GD and Image Функции.

Например, можете да използвате тази функционалност, за да отворите файл на отдалечен уеб-сървър, да анализирате съдържанието му за данните, от които се нуждаете и след това да ги вложите в заявка към база от данни, или просто да ги визуализирате на страницата ви.

Example #1 Взимане на заглавие от отдалечена страница

<?php
     $file 
fopen ("http://www.example.com/""r");
     if (!
$file) {
         echo 
"<p>Unable to open remote file.\n";
         exit;
     }
     while (!
feof ($file)) {
        
$line fgets ($file1024);
        
/* Това работи само ако заглавието и неговите тагове са на един ред */
        
if (eregi ("<title>(.*)</title>"$line$out)) {
            
$title $out[1];
            break;
        }
     }
     
fclose($file);
     
?>

Също така можете да записвате файлове на FTP сървър (ако разбира се сте се свързали към него с валидни потребителско име и парола и имате съответните права). Използвайки този метод, вие можете да създавате само нови файлове; ако опитате да актуализирате съдържанието на предварително създаден файл, извикването на fopen() ще се провали.

За да се свържете като потребител, различен от 'anonymous', трябва да упоменете потребителско име (и вероятно парола) вътре в URL адреса, например 'ftp://user:password@ftp.example.com/path/to/file'.(Използвайте същия синтаксис, за да осъществите достъп до файлове през HTTP, когато се изисква основна идентификация.)

Example #2 Записване на данни на отдалечен сървър

<?php
     $file 
fopen ("ftp://ftp.example.com/incoming/outputfile""w");
     if (!
$file) {
         echo 
"<p>Unable to open remote file for writing.\n";
         exit;
     }
     
/* Записваме данните тук. */
     
fwrite ($file$_SERVER['HTTP_USER_AGENT'] . "\n");
     
fclose ($file);
     
?>

Забележка: Може да ви хрумне да използвате примера отгоре, за да записвате отдалечен журнален файл (log file). За съжаление това няма да работи, понеже извикването на fopen() ще се провали, ако въпросният отдалечен журнален файл вече съществува. За да осъществите подобно отдалечено попълване на журнален файл, прегледайте функцията syslog().



add a note add a note User Contributed Notes
Използване на отдалечени файлове
There are no user contributed notes for this page.

Connection handling> <PUT method support
Last updated: Fri, 18 Sep 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites