Ankündigung

Einklappen
Keine Ankündigung bisher.

Alle Zeilen lesen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Alle Zeilen lesen?

    Hallo.
    Ich habe folgendes Script geschrieben, um eine Datei eunzulesen und ihren Inhalt auszugeben. Mein Problem ist nun, dass mit fgets nur die erste Zeile der Datei gelesen wird und der Inhalt wird auch nicht ausgegeben.
    Ich gehe davon aus, dass man nicht weiß, wie lang die Datei ist, die gelesen wird, da sich der Inhalt verändert. Wie kann ich PHP dazu bringen, die komplette Datei zu lesen und auch auszuegeben? Habe schon bei phpfriend.de und php.net gesucht, aber nichts gefunden, was mir hilft.

    Code:
    <?php // file: testing file for file-operations / Author: dejot / date: 28-12-04
    	
    	// Datei wird mit "http://dejot.dyndns.org/php_2/files.php?flnb=1" aufgerufen
    	
    	$file = array();
    	$file['1'] = "index.txt";
    
    	$tmp = fopen($file[$_GET['flnb']], "r");
    	$filedata = fgets($tmp);
    	$filelength = strlen($filedata);
    	echo "Die Datei ".$file[$_GET['flnb']]." ist ".$filelength." Zeichen lang und ihr Inhalt ist: ".$filedata."\n";
    ?>
    hier noch der direkte Link zur Testdatei (auf meinem Rechner):
    http://dejot.dyndns.org/php_2/files.php?flnb=1

    Dejot

  • #2
    Da du es ja anscheinend nicht hinbekommst, in der Doku nachzusehen, kommt hier die Doku zu dir:

    fgets
    (PHP 3, PHP 4 , PHP 5)

    fgets -- Liest eine Zeile von der Position des Dateizeigers
    Beschreibung
    string fgets ( resource handle [, int length])

    Gibt eine Zeile bis zu length -1 Bytes Länge zurück, welche aus der Datei von der aktuellen Position des Dateizeigers handle aus ausgelesen wird. Die Zeile endet an einem Zeilenumbruch (welcher im Rückgabewert enthalten ist), EOF (Ende der Datei) oder bei length - 1 Bytes (je nachdem, was eher auftritt). Ist keine Länge angegeben, wird diese auf 1k bzw. 1024 Bytes gesetzt.


    Das findet man unter http://de.php.net/manual/de/function.fgets.php inkl. Beispielen.

    Gruß
    phpfan

    Kommentar


    • #3
      so weit war ich auch schon -.- deshalb wüsste ich ja gerne, wie ich die komplette Datei lesen kann, weil ich eine passende Funktion in der Doku nicht gefunden habe.

      Kommentar


      • #4
        Zitat von dejot
        so weit war ich auch schon -.- deshalb wüsste ich ja gerne, wie ich die komplette Datei lesen kann, weil ich eine passende Funktion in der Doku nicht gefunden habe.
        Sorry, aber ich habe schon besser gelacht. Bei fgets gibt es sogar ein Beispiel und wenn man schon mal bei den Filefunktionen in der Doku ist, dann könnte man ja einfach mal nachsehen, was es sonst noch für Funktionen gibt, oder? Da findet man nämlich z.B. http://de.php.net/manual/de/function.file.php

        Gruß
        phpfan

        Kommentar


        • #5
          Ist doch was. Danke. War das schwer?
          Anscheinend für mich. Tut mir Leid, dass ich Anfänger bin. Hab die Funktion einfach nciht gesehen
          Bloß nicht zu freundlich
          Nochmal Danke.

          Kommentar


          • #6
            Zitat von dejot
            Ist doch was. Danke. War das schwer?
            Nein, war es nicht.
            Zitat von dejot
            Tut mir Leid, dass ich Anfänger bin.
            Das war jeder mal.
            Zitat von dejot
            Bloß nicht zu freundlich
            Damit musst du leben. Wenn man bemerkt, dass sich der Fragenstellende nicht mit der Doku beschäftig hat, dann kommen halt solche Reaktionen. Ein Forum ist kein Ersatz für die Doku und es nervt ein wenig, wenn regelmäßig Fragen kommen, die man mit "siehe Doku" beantworten kann.

            Gruß
            phpfan

            Kommentar


            • #7
              Zitat von phpfan
              Damit musst du leben. Wenn man bemerkt, dass sich der Fragenstellende nicht mit der Doku beschäftig hat, dann kommen halt solche Reaktionen. Ein Forum ist kein Ersatz für die Doku und es nervt ein wenig, wenn regelmäßig Fragen kommen, die man mit "siehe Doku" beantworten kann.
              Hai! Habs einfach nicht gefunden. Ab jetzt wälze ich erst stundenlang die Doku, bevor ich frage ^^

              Kommentar


              • #8
                Ne das Problem ist Phpfan zustimmtz, dass es sich dann n #3 so anhört, als ob du da shcon geguckt hättest, alle *so weit war ich auch schon*

                Aber anbei: Brauchst dich natrülich nicht endshculdigen,d ass du ein phpNoob [Anfänger] bist ! Dann bräcuhten wir ja alle kein Forum hier, ´wa ?

                Also, guten Rutsch ins Neue Jahr !

                Kommentar


                • #9
                  juchu, funktioniert wunderbar.

                  Code:
                  <?php // file: testing file for file-operations / Author: dejot / date: 28-12-04
                  	
                  	// Datei wird mit "http://dejot.dyndns.org/php_2/files.php?flnb=1" aufgerufen
                  	
                  	$file = array();
                  	$file['1'] = "index.txt";
                  
                  	// $tmp = fopen($file[$_GET['flnb']], "r");
                  	$filedata = array();
                  	$filedata = file($file[$_GET['flnb']]);
                  	echo "<h3>File: ".$file[$_GET['flnb']]."</h3>\n";
                  	foreach($filedata as $lineno => $line)
                  		{
                  			echo "#<span style=\"font-weight:bold;color:navy;\">{$lineno}</span>  " . htmlspecialchars($line) . "
                  \n";
                  		}
                  		?>
                  http://dejot.dyndns.org/php_2/files.php?flnb=1

                  //edit: auch nen guten Rutsch dir und allen die dies hier lesen ^^
                  //edit2: toll, jetzt habe ich mit eurer Hilfe doch glatt nen filelister gebastelt. Sogar externe html-files funzen. Nochmal danke. Das hilft mir sehr weiter.
                  Code:
                  <?php // file: testing file for file-operations / Author: dejot / date: 28-12-04
                  	
                  	// Datei wird mit "http://dejot.dyndns.org/php_2/files.php?flnb=1" aufgerufen
                  	// filelister: "http://dejot.dyndns.org/php_2/files.php?file=http://www.phpfriend.de"
                  	
                  	if(isset($_GET['file']))
                  		{
                  			$var = $_GET['file'];
                  			$_GET['flnb'] = 0;
                  		}
                  	
                  	$file = array();
                  	$file['0'] = $var;
                  	$file['1'] = "index.txt";
                  	$file['2'] = "index.php";
                  
                  	// $tmp = fopen($file[$_GET['flnb']], "r");
                  	$filedata = array();
                  	$filedata = file($file[$_GET['flnb']]);
                  	echo "<h3>File: ".$file[$_GET['flnb']]."</h3>\n";
                  	foreach($filedata as $lineno => $line)
                  		{
                  			echo "#<span style=\"font-weight:bold;color:navy;\">{$lineno}</span>  " . htmlspecialchars($line) . "
                  \n";
                  		}
                  ?>

                  Kommentar

                  Lädt...
                  X