Ergebnis 1 bis 9 von 9

Thema: Datei einlesen - was geht am schnellsten?

  1. #1
    Samurai Avatar von Donkey
    Registriert seit
    12.08.2008
    Ort
    München
    Alter
    35
    Beiträge
    237
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Datei einlesen - was geht am schnellsten?

    Hallo!

    Hab 4 brauchbare Möglichkeiten gefunden eine Datei in eine Variable zu quetschen.

    Jetzt stellt sich halt die Frage nach der Performance.

    Hintergrund ist dass ich mir jetzt auch endlich mal angewöhnen will php und html besser zu trennen, aber nicht sollche "Bomben" wie Smarty benutzen will.

    Naja is ja eigentlich auch egal
    Denke mal da ich im Anschluss an das Auslesen eh mit ner Schleife arbeite is Variante 4 für den Hintern

    PHP-Code:
    <?php

    // Variante 1
    $file_path 'folder/file.html';
    $read fopen($file_path'r');
    $content file_get_contents($file_path);
    fclose($read);


    // Variante 2
    $file_path 'folder/file.html';
    $read fopen ($file_path'r');
    $content fread($readfilesize($file_path));
    fclose($read);


    // Variante 3
    $content implode(" "file($file_path));


    // Variante 4
    $file_path 'folder/file.html';
    $read fopen ($file_path'r');
    while(!
    feof($read)) {
        
    $content .= fgets($readfilesize($file_path));
    }
    fclose($read);

    ?>
    Gruß, Donkey
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Donkey (05.04.2010 um 03:06 Uhr)


  2. #2
    König(in) Avatar von Grevas
    Registriert seit
    20.04.2009
    Ort
    In meiner Wohnung.
    Alter
    30
    Beiträge
    1.039
    Danke
    0
    Bekam 5 mal "Danke" in 5 Postings

    Standard AW: Datei einlesen - was geht am schnellsten?

    file_get_contents dürfte am schnellsten sein. Was dein fopen() da macht, solltest dich ma selbst fragen - wird nämlich nicht benutzt.
    Wenn du auch im Content PHP benutzen willst, wäre Include eine Alternative. Dürfte sich bei der Performance auch nicht so stark auswirken.

    /p.s. indem Fall ist es aber so ziemlich egal - es ist nur 1 File... Die paar milisekunden fallen da nicht ins Gewicht.

  3. #3
    Pion
    Gast

    Standard AW: Datei einlesen - was geht am schnellsten?

    Code:
    <?php echo file_get_contents($file_path); ?>
    Wie Grevas schon sagte ist dies am schnellsten außerdem
    kann PHP Code verwendet werden, sprich du brauchst keinen INCLUDE

    Include != schneller == filegetcontents


    mfg

  4. #4
    Samurai
    Themenstarter
    Avatar von Donkey
    Registriert seit
    12.08.2008
    Ort
    München
    Alter
    35
    Beiträge
    237
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datei einlesen - was geht am schnellsten?

    Zitat Zitat von Grevas Beitrag anzeigen
    file_get_contents dürfte am schnellsten sein. Was dein fopen() da macht, solltest dich ma selbst fragen - wird nämlich nicht benutzt.
    Oh da hab ich wohl gepennt

    Danke für die Antworten.

    Ein include selber nütz mir glaub ich nicht so viel, da ich ja die ganzen Platzhalter mit den Werten füllen muss, die das Script dann ausspuckt.
    Was weiss ich... aus ner DB-Operration oder so....

    So in der art vielleicht:

    PHP-Code:
    <?php
    function replace_wildcards($path$arr){
        
    $content file_get_contents($path);
        foreach(
    $arr as $wildcard => $replacement){
            
    $content str_replace($wildcard$replacement$content);
        }
        return 
    $content;
    }
    ?>


  5. #5
    Pion
    Gast

    Standard AW: Datei einlesen - was geht am schnellsten?


  6. #6
    Samurai
    Themenstarter
    Avatar von Donkey
    Registriert seit
    12.08.2008
    Ort
    München
    Alter
    35
    Beiträge
    237
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datei einlesen - was geht am schnellsten?

    Hm...
    Dann hab ich wieder php-Code in der HTML - Gut nicht viel...

    Aber das verbessert vemutlich die Performance, weil das Auslesen der Datei und die Schleife wegfallen.

    Danke jedenfalls


  7. #7
    Pion
    Gast

    Standard AW: Datei einlesen - was geht am schnellsten?

    Zitat Zitat von Donkey Beitrag anzeigen
    Hm...
    Dann hab ich wieder php-Code in der HTML - Gut nicht viel...

    Aber das verbessert vemutlich die Performance, weil das Auslesen der Datei und die Schleife wegfallen.

    Danke jedenfalls
    Naja also Performance ist hier eher nicht das Problem

    Wichtig bei einer TPL Engine ist nicht das kein PHP Code in der TPL steht sondern das die Technik und die Ausgabe von einander getrennt sind

    Smarty und Co sind meiner Meinung nach ein "Schwachsinn", man erlent eine neue Sprache nämlich der der TPL Engine, diese hat auch schleifen, ifs etc, da kann man dann auch gleich phpcode verwenden und mit nix parsen


    mfg

  8. #8
    König(in) Avatar von Grevas
    Registriert seit
    20.04.2009
    Ort
    In meiner Wohnung.
    Alter
    30
    Beiträge
    1.039
    Danke
    0
    Bekam 5 mal "Danke" in 5 Postings

    Standard AW: Datei einlesen - was geht am schnellsten?

    Word.
    Mir hat auch mal einer versucht Smarty anzudrehen, konnte mir auch nicht sagen wo der Vorteil sein soll.
    "Ja das und soo" -> "kann ich auch mit PHP machen" -> "jaaaa... ..."
    Tse

    Der einzige Unterschied ist, dass man mit Smarty dazu gezwungen wird. Mit PHP ist die Versuchung manchmal da.

  9. #9
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datei einlesen - was geht am schnellsten?

    .................crazywulf.de/httpdocs# php test.php
    Variante 1: 0.0212051868439 Sek.
    Variante 2: 0.0224738121033 Sek.
    Variante 3: 0.0760178565979 Sek.
    Variante 4: 0.0848259925842 Sek.
    .................crazywulf.de/httpdocs# php test.php
    Variante 1: 0.0219719409943 Sek.
    Variante 2: 0.0231111049652 Sek.
    Variante 3: 0.0760490894318 Sek.
    Variante 4: 0.0835380554199 Sek.
    .................crazywulf.de/httpdocs# php test.php
    Variante 1: 0.0222539901733 Sek.
    Variante 2: 0.0230870246887 Sek.
    Variante 3: 0.0762388706207 Sek.
    Variante 4: 0.0844430923462 Sek.
    PHP-Code:
    <?php
    $file_path 
    'test.txt';

    // Variante 1
    $beginn microtime(true);
    $content file_get_contents($file_path);
    $dauer microtime(true) - $beginn;
    echo 
    "Variante 1: $dauer Sek.\n";
    unset(
    $begin$dauer$content);

    // Variante 2
    $beginn microtime(true);
    $read fopen ($file_path'r');
    $content fread($readfilesize($file_path));
    fclose($read);
    $dauer microtime(true) - $beginn;
    echo 
    "Variante 2: $dauer Sek.\n";
    unset(
    $begin$dauer$content$read);

    // Variante 3
    $beginn microtime(true);
    $content file($file_path);
    $dauer microtime(true) - $beginn;
    echo 
    "Variante 3: $dauer Sek.\n";
    unset(
    $begin$dauer$content);

    // Variante 4
    $beginn microtime(true);
    $content '';
    $read fopen ($file_path'r');
    while(!
    feof($read)) 
    {
        
    $content .= fgets($read);
    }
    fclose($read);
    $dauer microtime(true) - $beginn;
    echo 
    "Variante 4: $dauer Sek.\n";
    unset(
    $begin$dauer$content$read);
    ?>
    Dateigröße ~ 6MB
    Geändert von crAzywuLf (06.04.2010 um 10:31 Uhr)
    Gruß crAzywuLf

Ähnliche Themen

  1. Datei einlesen
    Von mathe_is_GEIL! im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 10.05.2008, 18:52
  2. Text aus Datei einlesen
    Von clone im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 24.09.2007, 17:22
  3. Wie kann ich eine Excel Datei in meiner MySql Datei einlesen
    Von Buef im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 08.08.2007, 16:36
  4. csv datei einlesen
    Von otg im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 05.11.2006, 20:56
  5. Java datei einlesen
    Von Doug im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 01.06.2004, 15:34

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •