fread() oder fget() schneidet die erste Zeile ab

GalaxyWarrior

Erfahrenes Mitglied
hi, ich habe eine Datei geöffnet und in einer textarea ausgeben lassen. Auf den ersten Blick sah es gut aus, doch dann habe ich gemerkt, das immer die erste Zeile abgeschnitten wurde. Der code zum auslesen ist:
PHP:
function read_file ($files)
			{
			   $fd = fopen($files,"r"); 
			   while (!feof($fd)) {
				  $zeile = fgets($fd,1000);
				  $inhalt = fread ($fd, filesize ($files));
			   }
			   fclose ($fd);
			}

Weiß einer warumm?

Gruß GalaxyWarrior
 
Zeile wird nur zu inhalt :-)
und inhalt komt in einer textarea ausgegeben
PHP:
function read_file ($files)
			{
			   $fd = fopen($files,"r"); 
			   while (!feof($fd)) {
				  $zeile = fgets($fd,1000);
				  $inhalt = fread ($fd, filesize ($files));

$path_parts = pathinfo($files);
				  echo filesize ($files);
		?>
			<form name="form1" method="post" action="<? echo 'edit.php?sid='.session_id().'&fileurl='.$files.'&save=1' ?>">
<input type="text" name="filename" value="<? echo $path_parts["basename"] ; ?>" readonly="true">				
<textarea style="overflow:scroll; " name="show" cols="80" rows="30"><?$inhalt=htmlentities($inhalt); echo $inhalt; ?></textarea>
				<br><input type='reset' name='posting' value='Zurücksetzen'><input name="submit" type="submit" value="Speichern">
			</form>
 		<?     echo $inhalt;
			}
			   fclose ($fd);
			}
		?>

Die Funktion von der du schreibst kannte ich nicht, ich werde sie mir mal ansehen

Gruß GalaxyWarrior
 
Ja, ich habe einfach mal
PHP:
while (!feof($fd)) { 
                  $zeile = fgets($fd,1000);

weggelöscht , denn $zeile war sowieso sinnlos, denn das Ließt ja immer nur eine Zeile aus und wurde sowieso nicht verwendet, das war irgendwie sinnlos :-)
Damit war die While-Schleife auch sinnlos, da diese ja nur dazu da ist, dass die Datei dann solange Zeile für Zeile ausgelesen wird bis sie am ende ist. Und dann hat er auch die erste Zeile nicht mehr verschluckt, das kan scheinbar von der While-Schleife
Und das zeigt, 4 Augen sehen mehr als 2 :-)
Danke!

Gruß GalaxyWarrior
 
Nichts zu danken.

Falls Du keine Fragen mehr dazu hast dann markier den Thread bitte als erledigt, falls nicht schon geschehen.
 
Zurück