bei fopen passiert nix.....

Gudy

Erfahrenes Mitglied
Hi, ich habe angefangen mir ein Skript zu coden was erst alle Dateien in einem Ordner sucht und dann öffnet. Ich will den Quelltext in eine Variable speichern und ihn dann hinterher weiter verarbeiten.

Leider kann ich die Datein nicht öffnen und ich bekomm auch keine Fehlermeldung, besser gesagt weiss ich nicht ob er die Datei noch öffnet, aber wenn ich die Variable ausgeben möchte wo der Inhalt der geöffneten Datei drinn stehen müsste, wird nix angezeigt.

und hier noch mein code.....
Code:
<?php
	$handle_dir=opendir ('.');
	while (false !== ($file = readdir ($handle_dir))){
		if($file == 'index.php' || $file == '.' || $file == '..'){
			echo("KEIN ZUGRIFF<br>");
		}
		else{
				$size = 10000;//Länge des Strings
				$handle_htm = fopen($file,"r");
				$quelltext = fgetss($handle_htm,$size);
				
				echo($file.$quelltext);
		}
	}

?>
 
Ich habe mal nicht auf die Logik deines Script`s ,sondern auf die Schreibweise geschaut ,vielleicht geht es ja jetzt.
PHP:
<?php
	$handle_dir=opendir ('.');
	while (false != ($file = readdir ($handle_dir))){
		if($file == 'index.php' || $file == '.' || $file == '..'){
			echo("KEIN ZUGRIFF<br>");
		}
		else{
				$size = 10000;//Länge des Strings
				$handle_htm = fopen($file,"r");
				$quelltext = fgetss($handle_htm,$size);
				
				echo($file.$quelltext);
		}
	}

?>
 
erstmal Danke....

aber es liegt daran das ich gern .html Datein öffnen möchte, mit diesem Inhalt das nämlich nicht.
Wenn ich eien txt Datei nehem wo ABC drin steht, gibt er mir das auch aus

Weiss von euch vill jemand wie ich den ganzen quelltext einer html datei in eine Variable in PHP bekomme?


GRUß
 
Hallo...

Wenn du eine Datei per fopen('r') öffnest, befindet sich der Dateizeiger in der ersten Zeile.

Wenn du per fgets()/fgetss() mehr als diese Zeile lesen willst, musst du den Dateizeiger weiterbewegen(was du nicht tust)

Da in der ersten Zeile wahrscheinlich ein <html> oder <?php steht...wird jenes durch fgetss() entfernt...(fgetss() entfernt aus der Datei PHP-und HTML-Tags.....genau wie strip_tags())....folglich bekommst du garnix zu sehen.

Du kannst es z.B. so machen(erspart dir die Bewegung des Dateizeigers):
Code:
<?php
$handle_dir=opendir ('.');
while ($file = @readdir ($handle_dir))
    {
    if($file == 'index.php' || $file == '.' || $file == '..')
        {
			echo "KEIN ZUGRIFF<br><br>";
		}

    else{
			echo '<b>'.$file.'</b><hr>'.implode("\n",file($file)).'<br><br>';
		}
    }
?>
.....implode("\n",file('pfad/zur/datei.html'))...gibt dir den kompletten Inhalt der angegebenen Datei zurück.
 
Zuletzt bearbeitet:
Könntest auch mit [phpf]file_get_contents[/phpf] arbeiten. Somit liest du auch alles auf einmal in eine Variable ein.
 
Zurück