fopen

(PHP 3, PHP 4 >= 4.0.0)

fopen -- Otwiera plik lub URL

Opis

int fopen ( string nazwa_pliku, string tryb [, int użyj_include_path])

Jeśli nazwa_pliku zaczyna się od "http://" (nie jest rozróżniana wielość liter), jest otwierane połączenie HTTP 1.0 do wybranego serwera, strona jest żądana używając metody HTTP GET i wskaźnik pliku jest ustawiany na początku ciała odpowiedzi. Nagłówek 'Host:' jest wysyłany z żądaniem pozwalającym uchwycić oparte o nazwę wirtualne hosty.

Zauważ, że wskaźnik pliku pozwala tobie wydobyć tylko ciało odpowiedzi; Nie możesz dostać się do nagłówka HTTP używając tej funkcji.

Wersje przed PHP 4.0.5 nie obsługują przekierowań HTTP. Z tego powodu katalogi muszą zawierać kończące slashe.

Jeśli nazwa_pliku zaczyna się od "ftp://" (nie jest rozróżniana wielkość znaków), jest otwierane połączenie ftp do podanego serwera i zwracany jest wskaźnik do żądanego pliku. jeśli serwer nie obsługuje trybu pasywnego ftp, ta funkcja zawiedzie. Możesz otwierać pliki albo do odczytu lub zapisu przez ftp (ale nie oba tryby równocześnie).

Jeśli nazwa_pliku jest jedną z możliwości "php://stdin", "php://stdout" lub "php://stderr" zostanie otworzony odpowiedni strumień stdio. (To zostało wprowadzone w PHP 3.0.13; w wcześniejszych wersjach, aby dostać się do strumienia stdio nazwa_pliku musi mieć postać "/dev/stdin" lub "/dev/fd/0".)

Jeśli nazwa_pliku zaczyna się czymkolwiek innym zostanie otworzony plik z systemu plików i zostanie zwrócony wskaźnik pliku.

Jeśli otwieranie zwiedzie, funkcja zwróci FALSE.

tryb może być dowolny z poniższych:

Notatka: Parametr tryb może zawierać literę 'b'. To jest użyteczne tylko na systemach, które rozróżniają pliki pomiędzy binarne i tekstowe (np. Windows. To jest bezużyteczne na Unixach) Jeśli nie potrzebne zostanie zignorowane.

Możesz użyć opcjonalnego 3 parametru i ustawić go na "1", jeśli chcesz szukać pliku także w include_path.

Przykład 1. fopen() przykład

$fp = fopen ("/home/rasmus/file.txt", "r");
$fp = fopen ("/home/rasmus/file.gif", "wb");
$fp = fopen ("http://www.php.net/", "r");
$fp = fopen ("ftp://user:password@example.com/", "w");

Jeśli doświadczasz problemów z czytaniem i zapisywaniem do plików i używasz PHP jako moduł serwera, pamiętaj, że pliki i katalogi które używasz muszą być osiągalne dla procesu serwera.

Na platformach Windows, uważaj na zastosowanie znaków ucieczki dla wszystkich użytych w ścieżce do pliku backslashy, lub użyj slash'y.

$fp = fopen ("c:\\data\\info.txt", "r");

Patrz także fclose(), fsockopen(), socket_set_timeout() i popen().