Deprecated: Function set_magic_quotes_runtime() is deprecated in /DISK2/WWW/blue-team.org/bcblog/textpattern/lib/txplib_db.php on line 14 Bc. BLOG: PHP Funkce pro načtení jednoho řádku ze souboru

Čtvrtek únor 26, 2009

PHP Funkce pro načtení jednoho řádku ze souboru

· rubrika Clanky · kategorie

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:

  1. <?php
  2. function getLine($file) {
  3.  
  4.    while (!feof($file)) {
  5.      //precteme znak a pridame ho do bufferu
  6.      $character = fgetc($file);
  7.      $buffer .= $character;    
  8.  
  9.       /**
  10.        * Pohlidame si konec radku (EOL) v souboru:
  11.        *
  12.        *   \n   - Unix
  13.        *   \r\n - Windows
  14.        *   \r   - Mac
  15.        *
  16.        */
  17.        if (($character == "\x0a") || ($character == "\x0d")) {
  18.                   $character = fgetc($file);
  19.           if ($character != "\x0a") {
  20.           // neni soucasti EOL, vratime se o jeden znak zpet
  21.               fseek($file, -1, SEEK_CUR);
  22.           }
  23.           // EOL ukoncime cteni
  24.           break;
  25.       }
  26.           
  27.       }
  28.  
  29.       //vratime jeden radek
  30.       return $buffer;
  31.    }
  32. ?>
Pro jistotu uvádím ještě příklad použití této funkce.

Zdrojový kód:

  1. <?php
  2. $fp = fopen("export.sql", r);
  3. echo "<pre>";
  4. while (($line = getLine($fp, "sql"))!==false){
  5.   $line = trim($line); //odstraneni prazdnych znaku
  6.   if (!empty($line))echo $line."<br />"; //nevypiseme prazdne radky
  7. }
  8. echo "</pre>";
  9. ?>

17:57 — Zobrazeno: 1595x — Stálý odkaz



Komentáře

Přidání komentáře
Formát Texy

Váš příspěvek by měl být psán srozumitelně a k danému tématu! Nepoužívejte hrubé nadávky, vulgarismy, atd. a před samotným odesláním příspěvku si ho prosím ještě zkontrolujte!

Tučně zvýrazněné položky je nutno vyplnit!

Další komentáře:

XHTML 1.0 Strict - CSS