Join Up!
104882 members and counting!

 
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links 
search for in the  
previousPodpora metody PUTObsluha spojenínext
Last updated: Sun, 27 Oct 2002
view the printer friendly version or the printer friendly version with notes or change language to Finnish | German | Spanish

Kapitola 19. Použití vzdálených souborů

Pokud při konfiguraci PHP aktivujete podporu "URL fopen wrapper" (standardně je zapnutá, ledaže pro configure explicitně zadáte --disable-url-fopen-wrapper příznak (verze do 4.0.3), nebo (u novějších verzí) nastavíte allow_url_fopen v php.ini na off), můžete ve voláních většiny funkcí, které očekávají jako argument název souboru (včetně require() a include()) uvést HTTP nebo FTP URL.

Poznámka: Na Windows nelze používat vzdálené soubory v include() a require() výrazech.

Můžete například otevřít soubor na vzdáleném web serveru, vyseparovat z výstupu data, která potřebujete, a tato data potom použít v dotazu na databázi, nebo je prostě začlenit do výstupu stylem odpovídajícím zbytku vaší web site.

Příklad 19-1. Získání názvu vzdálené stránky

<?php
$file = fopen ("http://www.php.net/", "r");
if (!$file) {
    echo "<p>Nelze otevřít vzdálený soubor.\n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* Toto bude fungovat pouze pokud jsou tagy a název na jedné řádce */
    if (eregi ("<title>(.*)</title>", $line, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>

Pokud se připojíte jako uživatel s dostatečnými právy, a daný soubor už neexistuje, můžete data také ukládat po FTP. Pokud se chcete připojit jako jiný uživatel než 'anonymous', musíte v URL udat uživatelské jméno (a pravděpodobně i heslo), např. 'ftp://uzivatel:heslo@ftp.example.com/path/to/file'. (Pro přístup k souborům přes HTTP, které vyžadují Basic authentication, můžete použít stejnou syntaxi.)

Příklad 19-2. Uložení dat na vzdáleném serveru

<?php
$file = fopen ("ftp://ftp.php.net/incoming/outputfile", "w");
if (!$file) {
    echo "<p>Nelze otevřít vzdálený soubor pro zápis.\n";
    exit;
}
/* Zapíšeme data. */
fputs ($file, "$HTTP_USER_AGENT\n");
fclose ($file);
?>

Poznámka: Z výše uvedeného příkladu by vás mohlo napadnout využít tuto techniku k zápisu do vzdáleného logu, ale jak už bylo zmíněno výše, pomocí URL fopen() wrapperu můžete zapisovat pouze do nového souboru. Pokud máte zájem o distribuované logování, podívejte se na syslog().

User Contributed Notes
Použití vzdálených souborů
add a note about notes
There are no user contributed notes for this page.
previousPodpora metody PUTObsluha spojenínext
Last updated: Sun, 27 Oct 2002
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by: http://phpbuilder.com/
Last updated: Thu Oct 31 18:34:28 2002 EST