TXT Dateien Online bearbeiten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bearbeiten
bedingung
benutzt code
code
date
datei
entdecken
erfinden
ersten blick
folgendes versuchen
http
index
inhalt
lauten code
offensichtlichen fehler
page
problem
rad
schande
url
-
bei meiner neuen homepage habe ich den inhalt jeder datei seperat in je eine txt datei geschrieben. nun will ich diese bearbeiten, falls ich mal irgendwo bin und schnell den inhalt meiner seite bearbeiten muss.
ich habe dieses php code benutzt
<?php $datei = fopen("../includes/index.txt","r+"); $inhalt = fgets($datei, 100000); $page == $_POST["page"]; $inhalt == $_POST["inhalt"]; if ($page == "") { echo '<form action="indexedit.php" method="POST"><input type="text" value="'.$inhalt.'" name="inhalt" style="width: 100%; height: 100%;"><input type="hidden" name="page" value="edit"></form>'; } if ($page == "edit") { rewind($datei); fwrite($datei, $inhalt); } fclose($datei); ?>
mein problem:
entweder editiert er die datei gar nicht oder er schreibt das gleiche rein, wie vorher drinnstand.
weiß einer eine lösung?
EDIT: datei ist vorhanden und CHMOD auf 777
Beitrag zuletzt geändert: 27.7.2009 16:08:22 von druckertinte -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
druckertinte schrieb:
bei meiner neuen homepage habe ich den inhalt jeder datei seperat in je eine txt datei geschrieben. nun will ich diese bearbeiten, falls ich mal irgendwo bin und schnell den inhalt meiner seite bearbeiten muss.
Kann jetzt auf den ersten Blick auch keinen offensichtlichen Fehler entdecken.
Aber um Deine Seite online zu editieren empfehle ich Dir das hier:
http://www.dodwin.de/projects/ofesys/ -
Hi,
ungetestet sehe ich hier 2 Probleme:
$page == $_POST["page"]; $inhalt == $_POST["inhalt"];
solte wohl eher lauten
$page = $_POST["page"]; $inhalt = $_POST["inhalt"];
wobei
$inhalt = $_POST["inhalt"];
in die if ($page == "edit") - Bedingung gehört, damit das Textfled nicht leer bleibt.
Insgeamt würde ich also mal folgendes versuchen:
<?php $datei = fopen("../includes/index.txt","r+"); $inhalt = fgets($datei, 100000); $page = $_POST["page"]; if ($page == "") { echo '<form action="indexedit.php" method="POST"><input type="text" value="'.$inhalt.'" name="inhalt" style="width: 100%; height: 100%;"><input type="hidden" name="page" value="edit"></form>'; } if ($page == "edit") { $inhalt = $_POST["inhalt"]; rewind($datei); fwrite($datei, $inhalt); } fclose($datei); ?>
Hoffe es funzt
Manni
-
bandi999 schrieb:
Hi,
ungetestet sehe ich hier 2 Probleme:
$page == $_POST["page"]; $inhalt == $_POST["inhalt"];
solte wohl eher lauten
$page = $_POST["page"]; $inhalt = $_POST["inhalt"];
wobei
$inhalt = $_POST["inhalt"];
in die if ($page == "edit") - Bedingung gehört, damit das Textfled nicht leer bleibt.
Insgeamt würde ich also mal folgendes versuchen:
<?php $datei = fopen("../includes/index.txt","r+"); $inhalt = fgets($datei, 100000); $page = $_POST["page"]; if ($page == "") { echo '<form action="indexedit.php" method="POST"><input type="text" value="'.$inhalt.'" name="inhalt" style="width: 100%; height: 100%;"><input type="hidden" name="page" value="edit"></form>'; } if ($page == "edit") { $inhalt = $_POST["inhalt"]; rewind($datei); fwrite($datei, $inhalt); } fclose($datei); ?>
Hoffe es funzt
Manni
thx es funzt!
ich habe nur noch ein problem:
wenn auf der seite vorher blabla steht und ich es in haha änder will steht da hahala.
ich müsste die txt date also vorher leeren, aber wie mach ich das? -
na ja. es ist fast zwei wochen her, dass ich da gepostet habe und jetzt noch ein letztes mal, weil es doch einige leute interessiert, von denen nicht alle das rad unbedingt neu erfinden wollen ;o)
hier ist es zu sehen:
http://czibere.lima-city.de/forum/davy/example.php
einfach auf die kleingedruckte texte klicken und editieren und ... wunder an wunder: es funktioniert!
und hier downloadbar:
http://www.phpclasses.org/browse/package/2801.html
(mann muss ganz sicher sein, dass das rad noch runder wird! sonst ist die ganze zeit im a... ja und von fremden zu lernen ist auch keine schande :o) -
Hi,
druckertinte schrieb:
thx es funzt!
ich habe nur noch ein problem:
wenn auf der seite vorher blabla steht und ich es in haha änder will steht da hahala.
ich müsste die txt date also vorher leeren, aber wie mach ich das?
du kannst mal versuchen anstatt von rewind($datei) ftruncate($datei,0) zu schreiben.
Damit wird die Dateilänge 0.
Ebenfalls ungetestet und gefunden mit GOOGLE unter
http://de2.php.net/manual/de/function.ftruncate.php
Gruß
Manni -
Problem gelöst.
ich hab jetzt statt r+ w+. funkt alles super! -
Öffne die Datei doch mit
fopen(datei, "w");
dann wird sie automatisch geleert.
Wenn sie angezeigt werden soll, probiers mit
file_get_contents("DATEI.txt"); -
r2d2-aeg schrieb:
Öffne die Datei doch mit
fopen(datei, "w");
dann wird sie automatisch geleert.
Wenn sie angezeigt werden soll, probiers mit
file_get_contents("DATEI.txt");
sihe über dir.
w würde aber nicht funktionieren da ich dann nicht schreiben könnte, also w+ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage