fopen

(PHP 3, PHP 4 >= 4.0.0)

fopen -- Otev°e soubor nebo URL

Popis

int fopen ( string filename, string mode [, int use_include_path])

Jestli╛e filename zaΦφnß "http://" (velk²mi nebo mal²mi pφsmeny), je otev°eno spojenφ na p°φslu╣n² server protokolem HTTP 1.0 a je vrßcen deskriptor ukazujφcφ na zaΦßtek t∞la dokumentu. Posφlß se hlaviΦka 'Host:' pro p°φstup k virtußlnφm server∙m zalo╛en²m na jmΘn∞.

Nezpracovßvß HTTP p°esm∞rovßnφ, je t°eba vlo╛it koncovΘ lomφtko za nßzev adresß°e.

Kdy╛ filename zaΦφnß "ftp://" (velkß Φi malß pφsmena), je otev°ena FTP relace na p°φslu╣n² server a vrßcen deskriptor na po╛adovan² soubor. Pokud server nepodporuje pasivnφ re╛im FTP komunikace, sel╛e to. M∙╛ete p°es FTP otvφrat soubory pro Φtenφ i zßpis, ale ne pro obojφ najednou.

Kdy╛ filename je bu∩ "php://stdin", "php://stdout", nebo "php://stderr", bude otev°en standardnφ vstup/v²stup (stdio). (To platφ od verze PHP 3.0.13; v d°φv∞j╣φch verzφch se musφ pou╛φt nßzvy jako "/dev/stdin" nebo "/dev/fd/0".)

Kdy╛ filename zaΦφnß Φφmkoli jin²m, bude otev°en obyΦejn² soubor (z filesystΘmu) a vrßcen jeho deskriptor.

Pokud otvφrßnφ sel╛e, funkce vrßtφ FALSE.

mode m∙╛e b²t kter²koli z t∞chto:

  • 'r' - Otev°φt pouze pro Φtenφ; nastavφ ukazatel na zaΦßtek souboru.

  • 'r+' - Otev°φt pro Φtenφ a zßpis; nastavφ ukazatel na zaΦßtek souboru.

  • 'w' - Otev°φt pouze pro zßpis; nastavφ ukazatel na zaΦßtek souboru a zkrßtφ soubor na nulovou dΘlku. Pokud soubor neexistuje, pokusφ se ho vytvo°it.

  • 'w+' - Otev°φt pro Φtenφ a zßpis; nastavφ ukazatel na zaΦßtek souboru a zkrßtφ soubor na nulovou dΘlku. Pokud soubor neexistuje, pokusφ se ho vytvo°it.

  • 'a' - Otev°φt pouze pro zßpis; nastavφ ukazatel na konec souboru, Pokud soubor neexistuje, pokusφ se ho vytvo°it.

  • 'a+' -Otev°φt pro Φtenφ a zßpis; nastavφ ukazatel na konec souboru. Pokud soubor neexistuje, pokusφ se ho vytvo°it.

mode m∙╛e obsahovat pφsmeno 'b'. To je u╛iteΦnΘ pouze na systΘmech kterΘ rozli╣ujφ mezi binßrnφmi a textov²mi soubory (nikoli nap°. na Unixu). Pokud nenφ zapot°ebφ, je ignorovßn.

M∙╛ete pou╛φt nepovinn² t°etφ parametr a nastavit ho na "1", pokud chcete hledat soubor takΘ v include_path.

P°φklad 1. fopen() p°φklad

$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");

Pokud jste zaznamenali problΘmy se Φtenφm a zßpisem do soubor∙ a pou╛φvßte PHP jako modul do serveru, nezapome≥te zajistit, aby soubory a adresß°e, kterΘ pou╛φvßte, byly p°φstupnΘ pro serverov² proces.

Na Windows je t°eba oescapovat v╣echna zp∞tnß lomφtka ve specifikaci cesty k souboru nebo pou╛φvat obyΦejnß (dop°ednß) lomφtka.

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

Viz takΘ fclose(), fsockopen(), socket_set_timeout(), a popen().