Forum und email

fopen

(PHP 4, PHP 5)

fopen — Otvorí súbor či adresu URL

Popis

resource fopen ( string $názovsúboru , string $mód [, int $používať_cesty_include [, resource $zcontext ]] )

fopen() priradí pomenovaný zdroj špecifikovaný parametrom názovsúboru prúdu. Ak je názovsúboru typu "schéma://...", predpokladá sa, že je to URL a PHP vyhľadá príslušnú obslužnú rutinu protokolu (nazývanú tiež wrapper) pre danú schému. Ak nie sú pre daný protokol zaregistrované žiadne wrappery, PHP vydá poznámku (notice), aby bolo možné vysledovať prípadné problémy v skripte vyplývajúce z tejto situácie. Vykonávanie skriptu potom pokračuje, akoby názovsúbor u obsahoval regulárny súbor.

If PHP has decided that filename specifies a local file, then it will try to open a stream on that file. The file must be accessible to PHP, so you need to ensure that the file access permissions allow this access. If you have enabled safe mode, or open_basedir further restrictions may apply.

Ak PHP uvážilo, že názovsúboru špecifikuje registrovaný protokol a tento protokol je registrovaný ako sieťová adresa URL, PHP overí, či je povolená konfiguračná možnosť allow_url_fopen. Ak je táto možnosť zakázané, PHP vyšle varovanie (warning) a volanie funkcie fopen() zlyhá.

Note: Zoznam podporovaných protokolov možno nájsť v sekcii Zoznam Podporovaných Protokolov/Balíčkov.

Parameter mód definuje spôsob, akým sa bude pristupovať k prúdu. Režim môže byť tvorený nasledovnými znakmi:

Zoznam možných módov pre funkciu fopen() pre použitie v parametri mód
mód Popis
'r' Otvoriť len na čítanie; interný ukazovateľ súboru bude presunutý na začiatok súboru.
'r+' Otvoriť na čítanie aj zápis; ukazovateľ súboru bude presunutý na začiatok súboru.
'w' Otvoriť len na zápis; ukazovateľ súboru bude presunutý na začiatok súboru a súbor bude skrátený na nulovú dĺžku. Ak súbor neexistuje, pokúsi sa ho vytvoriť.
'w+' Otvoriť na čítanie aj zápis; ukazovateľ súboru bude presunutý na začiatok súboru. Súbor bude skrátený na nulovú dĺžku Ak súbor neexistuje, pokúsi sa ho vytvoriť.
'a' Otvoriť len na zápis; ukazovateľ súboru bude presunutý na koniec súboru. Ak súbor neexistuje, pokúsi sa ho vytvoriť.
'a+' Otvoriť na čítanie aj zápis; ukazovateľ súboru bude presunutý na koniec súboru. Ak súbor neexistuje, pokúsi sa ho vytvoriť.

Note: Parameter mód môže ďalej obsahovať znak 'b'. Ten má význam len na systémoch, ktoré rozlišujú medzi textovými a binárnymi súbormi (napr. Windows. V systémoch Unix nemá tento mód význam). Ak znak nie je potrebný, bude ignorovaný. Napriek tomu sa odporúča používať znak 'b' - zaisťuje sa tým väčšia prenositeľnosť skriptov.

Tretí nepovinný parameter používať_cesty_include môže byť nastavený na '1' or TRUE ak chcete vyhľadávať súbor aj v cestách špecifikovaných v nastavení include_path.

Štvrtý nepovinný parameter zcontext je používaný pri špecifikovaní ladiacich parametrov a spätných volaní.

Ak otvorenie zlyhá, funkcia vráti FALSE.

Example#1 Príklad na fopen()

<?php
$handle 
fopen ("/home/rasmus/subor.txt""r");
$handle fopen ("/home/rasmus/obrazok.gif""wb");
$handle fopen ("https://www.server.com/""r");
$handle fopen ("ftp://uzivatel:[email protected]/subor.txt""w");
?>

Ak narážate na problémy s čítaním, či zapisovaním do súborov a používate PHP ako modul servera, uistite sa, proces servera má prístup k súborom a adresárom, s ktorými sa pokúšate pracovať.

Na platforme Windows je potrebné ošetriť spätné lomky '\ pomocou escape znakov, resp. použiť obyčajné lomky.

<?php
$handle 
fopen ("c:\\data\\info.txt""r");
?>

Pozri tiež Zoznam Podporovaných Protokolov/Balíčkov, fclose(), fgets(), fsockopen(), file(), file_exists(), is_readable(), socket_set_timeout() a popen().