Forum und email
fopen

fopen

(PHP 3, PHP 4, PHP 5)

fopen -- Otevře soubor nebo URL

Popis

resource fopen ( string filename, string mode [, bool use_include_path [, resource context]] )

Jestliže filename začíná "https://" (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 ("https://www.php.net/", "r");
$fp = fopen ("ftp://user:[email protected]/", "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().