Čtvrtek únor 26, 2009
PHP Funkce pro načtení jednoho řádku ze souboru
· rubrika Clanky · kategorie Programování
Už jsem se mnohokrát setkal s tím, že jsem potřeboval číst data ze souboru po jednotlivých řádcích. Všimnul jsem si také, že mnoho lidí v různých diskuzích se ptá, jak číst ze souboru po jednotlivých řádcích, proto bych se chtěl s Váma podělit o moji funkci, kterou jsem si na to napsal. Funkce rozlišuje tři možné ukončení řádků a lze ji použít i na velké soubory!Zdrojový kód:
- <?php
- function getLine($file) {
- while (!feof($file)) {
- //precteme znak a pridame ho do bufferu
- $character = fgetc($file);
- $buffer .= $character;
- /**
- * Pohlidame si konec radku (EOL) v souboru:
- *
- * \n - Unix
- * \r\n - Windows
- * \r - Mac
- *
- */
- if (($character == "\x0a") || ($character == "\x0d")) {
- $character = fgetc($file);
- if ($character != "\x0a") {
- // neni soucasti EOL, vratime se o jeden znak zpet
- fseek($file, -1, SEEK_CUR);
- }
- // EOL ukoncime cteni
- break;
- }
- }
- //vratime jeden radek
- return $buffer;
- }
- ?>
Zdrojový kód:
- <?php
- $fp = fopen("export.sql", r);
- echo "<pre>";
- while (($line = getLine($fp, "sql"))!==false){
- $line = trim($line); //odstraneni prazdnych znaku
- if (!empty($line))echo $line."<br />"; //nevypiseme prazdne radky
- }
- echo "</pre>";
- ?>
17:57
—
Zobrazeno: 1595x
—
Stálý odkaz
Komentáře
Další komentáře:
PHP funkce převádějící čísla na excelovské názvy sloupců
Získání dat z meta informací databází (informační schémata)