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()