fopen

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 wielkość 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 .

W PHP 4.3.0 ( jeszcze nie udostępnionym) , jeśli masz wkompilowane sparcie dla OpenSSL , możesz użyć "https : / / " aby otworzyć połączenie HTTP po SSL .

Zauważ , że wskaźnik pliku pozwala tobie odczytać tylko ciało Zauważ , że wskaźnik pliku pozwala tobie odczytać tylko ciało odpowiedzi ; aby uzyskać nagłówek HTTP musisz użyć wersji PHP 4.0.5 lub nowszej . Nagłówki przechowywane w zmiennej $http_response_header . W PHP 4.3.0 ( jeszcze nie udostępnionym) , informacja z nagłowka może być pobrana używając funkcji file_get_wrapper_data( ) .

Połączenia HTTP tylko do odczytu , nie możesz zapisać danych lub kopiować plików do zasobu HTTP .

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 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 zdalny plik już istnieje na serwerze FTP i spróbujesz otworzyć go do zapisu , ta funkcja zawiedzie . jeśli potrzebujesz zmodyfikować istniejące pliki przez FTP , użyj ftp_connect( ) .

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 ; we 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 się nie powiedzie , 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 . 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.example.com

 
/

 
"

 
,

 
"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( ) .