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
są
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
są
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
:
-
'
r
'
-
Otwórz
tylko
do
odczytu
;
ustawia
wskaźnik
pliku
na
początku
pliku
.
-
'
r+
'
-
Otwórz
do
odczytu
i
zapisu
;
ustawia
wskaźnik
pliku
na
początku
pliku
.
-
'
w
'
-
Otwórz
tylko
do
zapisu
;
ustawia
wskaźnik
pliku
na
początku
pliku
i
obcina
plik
(zeruje
)
do
0
długości
.
Jeśli
plik
nie
istnieje
to
próbuje
go
utworzyć
.
-
'
w+
'
-
Otwórz
do
odczytu
i
zapisu
;
ustawia
wskaźnik
pliku
na
początku
pliku
i
obcina
plik
(zeruje
)
do
0
długości
.
Jeśli
plik
nie
istnieje
to
próbuje
go
utworzyć
.
-
'
a
'
-
Otwórz
tylko
do
zapisu
;
ustawia
wskaźnik
pliku
na
końcu
pliku
.
Jeśli
plik
nie
istnieje
to
próbuje
go
utworzyć
.
-
'
a+
'
-
Otwórz
do
odczytu
i
zapisu
;
ustawia
wskaźnik
pliku
na
końcu
pliku
.
Jeśli
plik
nie
istnieje
to
próbuje
go
utworzyć
.
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
.
Patrz
także
:
fclose(
)
,
fsockopen(
)
,
socket_set_timeout(
)
i
popen(
)
.