rainer: Mit PHP *.txt Dateien auf dem Server ändern...

Beitrag lesen

Guten Morgen allerseits,

nachdem ich nun mit PHP ein bischen experimentiert habe und auch einiges funkttioniert bin ich wieder auf etwas (fuer mich) merkwuerdiges gestossen.

Mit folgenden Codes lese ich .txt Dateien ein, will sie veraendern und hernach wieder auf den Server schreiben. Funktioniert auch, aber nur bei kleinen .txt's, so bis 12 Zeilen Text. Alles was groesser ist wird auch bearbeitet, nur leider sehr brutal. Hinten macht es einfach

<--Schnipp - schreibt noch  %HTTP/1.1 dran und Schnapp-->

und der Rest ist im Nirvana.
Frage: ist es ein Prob. bei HTTP1.x das man evtl. nur Dateien bis
x-Zeichen oder x-Byte bearbeiten kann, oder ist wo ein grober Fehler im Code?

Quellcode:

admin.htm

<html>
<head>
<title>Admin</title>
</head>

<body bgcolor="#FFFFFF">
<h3 align="center">Admin</h3>
<div align="center"><b>Datei auswählen </div>
<form action="adminread.php" >
   <div align="center">
    <input type="text" name="datname" size="50">
    <input type="submit" name="Button" value="Einlesen">
  </div>
</form>
</body>
</html>

adminread.php

<?php

$fp = fopen("$datname", "r");
$inhalt_txt = fread($fp, filesize("$datname"));
fclose($fp);

echo "<form action="adminwrite.php">\n";
echo "<input type="hidden" name="datname" value="$datname"\n";
echo "<textarea name="text" cols="100" rows="50" wrap="virtual">\n";

echo "$inhalt_txt";

echo "</textarea><br>\n";
echo "<input type="submit" name="Button" value="Abschicken">\n";
echo "</form>\n";
echo "<a href="admin.htm">Zurueck</a>\n";

?>

adminwrite.php

<?

Oeffnen der Datei

$datei = fopen("$datname", "w");  

Einlesen der Formulardaten

if ($datei)  

{

fputs($datei, "$text");

}

Datei speichern und schliessen

fclose($datei);  

Abschliessende Meldung

echo "<br><br><br><div align="center">";
echo "<b>Der Text wurde geaendert!</b><br><br>";
echo "<a href="admin.htm">Zurueck</a>";

?>

Nochmals Dank an Hoagie und Wowbagger fuer die gelieferten Denkansaetze, aber so richtig hat's noch nicht gefunkt bei mir :-(
Wird aber noch.....

Gruss an alle

rainer