Nauka

Krótki kurs, aby zapoznać się z podstawami języka

Korzystanie ze zdalnych plików

Rozdział 39. Korzystanie ze zdalnych plików

Jeśli parametr allow_url_fopen w pliku php.ini zostanie włączony, będzie można używać adresów HTTP i FTP w większości funkcji, które jako parametr przyjmują nazwę pliku, włączając w to instrukcje include(), include_once(), require() oraz require_once(). Więcej informacji o protokołach obsługiwanych przez PHP. znajduje się w Dodatek M.

Notatka: PHP dla Windows, w wersji wcześniejszej niż 4.3 nie obsługiwało zdalnego dostępu do plików przy użyciu instrukcji: include(), include_once(), require() i require_once() oraz rodziny funkcji imagecreatefromXXX z rozszerzenia Materiały źródłowe LXIII, Image Functions.

Możesz wykorzystać tę własność aby otworzyć plik na zdalnym serwrze, przetworzyć jego zawartość i użyć wyników w zapytaniu do bazy danych, lub po prostu wyświetlić plik dostosowując jego wygląd do swojej strony.

Przykład 39-1. Pobieranie tytułu zdalnej strony

<?php
$file
= fopen ("http://www.example.com/", "r");
if (!
$file) {
    echo
"<p>Nie można otworzyć zdalnego pliku.\n";
    exit;
}
while (!
feof ($file)) {
    
$line = fgets ($file, 1024);
    
/* Zadziała tylko wtedy, gdy tytuł i jego znaczniki są w tej samej linii */
    
if (eregi ("<title>(.*)</title>", $line, $out)) {
        
$title = $out[1];
        break;
    }
}
fclose($file);
?>

Możesz również zapisywać pliki na serwerach FTP (zakładając, że połączyłeś się jako użytkownik z odpowiednimi prawami dostepu). Przy użyciu tej metody możesz jedynie tworzyć nowe pliki. Jeśli spróbujesz nadpisać istniejący plik, wywołanie funkcji fopen() zwróci błąd.

Przykład 39-2. Zapisywanie danych na zdalnym serwerze.

<?php
$file
= fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!
$file) {
    echo
"<p>Nie można otworzyć zdalnego pliku do zapisu.\n";
    exit;
}
/* Tutaj zapisujemy dane. */
fwrite ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

Notatka: Być może powyższy przykład nasunął ci pomysł, by użyć tej metody do zdalnego zapisywania logów. Niestety taka próba się nie powiedzie, gdyż wywołanie fopen() zwróci błąd, jeśli zdalny plik już istnieje. Aby zrealizować zdalne logowanie powinieneś przyjrzeć się funkcji syslog().


mario download

Posty z forum

Ostatnie wiadomości z grupy dyskusyjnej

problem z komputrem
Proponuje sciagnac u kolegi i wypalic na plycie obraz z programem antywirusowym, np. Kaspersky Rescue Disk...
Router TL-R402M-problem
Router nie powinien powodowac takich rzeczy. Jestes pewny, ze to nie wina serwerow skad pobierasz dane ? Czy jest tak w konkretnym programie, np. do...
"We pay for your Mio" - dajcie znać
Jesli ktos zaryzykował i kupił nawigacje Mio i zamiast gwarantowanych 10 Euro postanowił zagrać o 100 niech da znac jeśli wygra. Ciekawi mnie jak to...
poradzcie mezczyzni jaka nawigacje kupic:)
Ja tez nie mogę wziąc udziału bo już mam jednego takiego....:( Ale pomysł fajny. Kumpel mówił, że ta gierka jak się gra o 100 Euro jest nieźle...
problem z kamerą internetową
witam. mam ten sam problem z kamerka i sys Vista. Jezeli jest ktos zyczliwym na tym forum to prosze o przeslanie sterownikow do visty na mojego...

Mam problem. Otóż: pole na tekst to grafika. Chcę aby to jaśniejsze pole było czymś w rodzaju nie wiem... ramki, pływającej ramki. Po prostu, żebym mógł tam pisać, żeby było to tło (jaśniejsze pole), oraz aby się mogło przewijać.