file
(PHP 4, PHP 5)
file — Egy teljes fájlt tömbbe olvas
Leírás
Ugyanaz, mint a file_get_contents() függvény, kivéve azt, hogy a file() függvény a fájlt tömbben adja vissza. Minden eleme a tömbnek megegyezik a fájl soraival, egy új sort még mindig hozzákapcsolva. Hiba esetén a file() függvény FALSE-szal tér vissza.
Használhatod az opcinális use_include_path paramétert és beállíthatod az értékét "1"-re, ha szeretnéd, hogy a PHP az include_path-ban is keresse a fájlt.
<?php
// Fájl kinyerése tömbbe. Ebben a példában HTTP-n
// keresztül nyerjük ki az URL forrás segítségével a HTML tartalmat.
$lines = file('https://www.example.com/');
// Járjuk körbe a tömböt, írassuk ki a HTML forrást HTML forrásként sorszámozással
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
// Másik példa, weblap kinyerése karakterláncba. Lásd még: file_get_contents().
$html = implode('', file('https://www.example.com/'));
?>
URL-t is megadhatsz az állomány név paraméter helyén ha a fopen wrappers szolgáltatás be van kapcsolva. Bővebb információk az fopen() leírásánál olvashatóak arról, milyen módon adhatod meg a fájlneveket, valamint érdemes megtekinteni a List of Supported Protocols/Wrappers oldalt a támogatott URL típusok listájának megtekintése gyanánt.
Note: Ez eredmény tömbben az összes sor tartalmazza a sorvégződést, tehát szükséged van rtrim() függvényre, ha nem szeretnéd, hogy a sorvégződés jelen legyen.
Note: Ha problémád akadna PHP-ben Machintosh gépen létrehozott szöveges fileokban a sorvégek olvasásával, valószínűleg be kell kapcsolnod az auto_detect_line_endings beállítást.
Note: A PHP 4.3.0-től használhatod a file_get_contents() függvényt, hogy a fájl tartalmát karakterlánckénet kapd vissza.
PHP 4.3.0-tól a file() függvény binary safe.
Note: A context támogatása a PHP 5.0.0 változattól felfele érhető el. A conext-ek leírását itt találod: Streams.
SSL titkosított kapcsolat esetén a Microsoft IIS webszerver az SSL protokol helytelen implementálása folytán a kapcsolatot a close_notify jelzése nélkül zárja. A PHP ezt a következő hibaüzenettel honorálja, amikor az adattovábbítás végére ér: "SSL: Fatal Protocol Error". A probléma tüneti kezelésére a error_reporting beállítást lehet lejjebb venni. APHP 4.3.7-es és későbbi változatai képesek felismerni a hibásan működő IIS szerver-szoftvert amikor a https:// adatfolyam-burkolót alkalmazod és elnyeli a fenti hibaüzeneteket. Ha az fsockopen()-t használod ssl:// csatornán keresztül, a hibaüzenetet magad tudod észlelni és elnyomni.
Lásd még: readfile(), fopen(), fsockopen(), popen(), file_get_contents(), include(), és stream_context_create()