Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Probleme mit fopen, fread und fclose

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Probleme mit fopen, fread und fclose

    Hi Ihr,

    irgendwie kriege ich Probleme mit folgendem Code. Ich will in die Variable $htmlpages mehrere HTML-Dateien einlesen und aus dem gesamten Inhalt später etwas herausziehen. Wenn ich den Code ausführe (mit dem restlichen Code natürlich) dauert die Ausführung super lange und irgendwann kommt dann: Fatal error: Maximum execution time of 120 seconds exceeded ...

    Das was dann zu ungefähr jeder Datei als Fehlermeldung kommt, ist folgendes:

    Warning: fopen(datei1.html) [function.fopen]: failed to open stream: No such file or directory in C:\Programme\Apache2\htdocs\test.html on line 15

    Warning: filesize() [function.filesize]: stat failed for datei1.html in C:\Programme\Apache2\htdocs\test.html on line 16

    Warning: fread(): supplied argument is not a valid stream resource in C:\Programme\Apache2\htdocs\test.html on line 16

    Warning: fclose(): supplied argument is not a valid stream resource in C:\Programme\Apache2\htdocs\test.html on line 17


    Mein Code:

    Code:
    if($verzeichniszeiger = opendir($pfad)) 
    {
        while($datei = readdir($verzeichniszeiger)) {
            if($datei != "." && $datei != "..") {
    			list($vorPunkt, $nachPunkt) = split('[.]', $datei);
    			$nachPunkt = strtolower($nachPunkt);
    			// if($nachPunkt=="html") {
    				$filename=$datei;
    				// echo $filename."
    ";
    				$fh = fopen($filename,"r");
    				$htmlpages.= fread($fh,filesize($filename));
    				fclose($fh);
    			} // end if($nachPunkt="html" || $nachPunkt="htm")
    		} // end if($datei != "." && $datei != "..")
    	} //end while
    } // end if
    closedir($verzeichniszeiger);
    Woran liegts ? Irgendjemand eine Idee ?


  • #2
    Wenn $pfad nicht das aktuelle Verzeichnis ist, musst du $filename entsprechend erweitern:
    PHP-Code:
    $filename $pfad '/' $datei

    Kommentar


    • #3
      Super, danke, passt !
      Man, dass ich darauf mal wieder nicht selbst gekommen bin... Mist !

      Kommentar


      • #4
        Eine andere Möglichkeit wäre übrigens, dass du innerhalb der while-Schleife das aktuelle Arbeitsverzeichnis mittels chdir() änderst.

        Kommentar


        • #5
          Ja, an sowas hab ich dann auch gedacht. Wie gesagt, hätte ich gewußt, dass es daran liegt... Schönen Dank trotzdem für die Hilfe !

          Kommentar

          Lädt...
          X