Zum Inhalt springen

PHPscript um eine text Datei zu editieren


Empfohlene Beiträge

Hallo...

Ich habe ein PHPscript geschrieben mit dessen hilfe ich dateien editieren kann (z.B HTML Dateien die auf meinem Webspace liegen)

Das alles läuft über eine HTML Form.

Mein Problem: Er öffnet die Datei einwandfrei... ich kann Editieren ohne Problem und er speichert auch das veränderte.

Doch irgendwie werden die "Anführungszeichen" mit einem / Slasch ersetzt.

Wie kann ich das verhindern?

Ich könnte natürlich garkeine " Verwenden doch würde die dann nichtmehr dem Standart entsprechen und was ist wenn ich ein Wort oder Satz in " Schreiben möchte?

Wenn ihr etwas mit Austausch vorschlagen solltet bitte bedenkt das HTTP Adressen in der Datei die Beispielsweise so lauten könnten : http://www.test.de nicht dürch http:""www.test.de derstez werden.

Hoffe auf hilfe :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

<?php

$fhandle=fopen("$file","w+");

fwrite($fhandle,"$text");

$var=stripslashes($var );

fclose($fhandle);

echo("Die Datei wurde geändert!");

exit();

?>

Das ist der Code....

Die hilfen die ich ausm Internet hab wie z.B:

$var=stripslashes($var );

haben nichts geholfen :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von FisyX

[...]Doch irgendwie werden die "Anführungszeichen" mit einem / Slasch ersetzt.[...]

Also wenn die ersetzt werden, wann werden die denn ersetzt? Schon bei der Übergabe an die PHP-Datei, oder erst, wenn die in die Datei geschrieben werden sollen?

Vielleicht hilft es ja, den ganzen übergebenen Text einfach mitelst ' zu umschliessen oder die Zeichen per \ zu maskieren... :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von FisyX

<?php

$fhandle=fopen("$file","w+");

fwrite($fhandle,"$text");

$var=stripslashes($var );

fclose($fhandle);

echo("Die Datei wurde geändert!");

exit();

?>

Ich vermute, du suchst das:

<?php

$fhandle=fopen("$file","w+");

$var=stripslashes($var );

fwrite($fhandle,"$var");

fclose($fhandle);

?>

hth

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Entschuldigung... er macht backslaches und keine slash !

Also

Ich öffne ne HTML Datei mit " drinne dann sieht die so aus wenn die per php geöffnet wurde:

<html>

<body>

"Dies ist ein test"

</body>

</html>

Dan klicke ich auf speichern und die datei sieht so aus:

<html>

<body>

\"Dies ist ein test\"

</body>

</html>

Die Datei wird mit dieser html Form angezeigt:

<body>

<form method="POST" action="edit.php?file=<? echo("$file"); ?>">

<textarea rows="15" name="text" cols="60">

<? include("$file"); ?>

</textarea><br>

<input type="submit" value="Speichern" name="saved">

</form>

</body>

Bisehr kam ich mit euren Vorschlägen nicht weiter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von FisyX

[...]Dan klicke ich auf speichern und die datei sieht so aus:

[...]\"Dies ist ein test\"[...]

Also wird das Anführungszeichen schonmal maskiert. Für nichts anderes ist das \ ja da da.

Kannst du das nicht einfach mittels ereg_replace() bei der Ausgabe wieder rausfiltern? :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Crash2001

Also wird das Anführungszeichen schonmal maskiert. Für nichts anderes ist das \ ja da da.

Kannst du das nicht einfach mittels ereg_replace() bei der Ausgabe wieder rausfiltern? :rolleyes:

natürlich wäre es viel schöner die ursache herauszufinden warum sich da die "/" einschleichen anstatt diese am schluß einfach mit ereg_replace) rauszuhauen

--------

versuch das ma:


<?php
$fhandle=fopen($file,"w+");
fwrite($fhandle, $text);
fclose($fhandle);
exit("Die Datei wurde geändert!");
?>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von FisyX

die / kommen erst nach beschreiben der datei

Hmmm...also sieht irgendwie so aus, als ob die nciht richtig üebrgeben werden... :rolleyes:

Weil wenn ich dabei die Variable $text manuell belege mittels


$text ='
<html>
<body>
"Dies ist ein test"
</body>
</html>';
[/PHP]

Dann schreibt der den Text auch so in die Datei wie er soll... ;)

Also wird das wohl bei der Übergabe an die Datei schon maskiert...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bis jetzt haben eure vielen beispielversuche nichts gebracht :(

Bei manchen ( die ersten paar) da schreibt das script garnix mehr in die text datei und ansonsten immer wieder "\ !

Ich glaube am besten ich lasse die anführungszeichen komplett weg .....

Oder hat nicht jemand ein komplett funktionierendes script mit dem man den quelltext von html dateien anzeigen lassen und wenn gewollt auch bearbeitetn kann (sozusgen webasierend) über eine html form :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Wenn dein Skript mit stripslashes gar nichts mehr schreibt, hast du einen Fehler beim einbauen gemacht.

stripslashes funktioniert auf alle Fälle!

Gruß Jaraz

PS: weil hier schon lange rumgeraten wird ein Beispiel:

<?php
if(isset($_GET['file'])){
$fhandle=fopen($_GET['file'],"w+");
fwrite($fhandle, stripslashes($_POST['text']));
fclose($fhandle);
echo "gespeichert<p>";
}
?>
<body>
<form method="POST" action="test.php?file=<?php echo("test.html"); ?>">
<textarea rows="15" name="text" cols="60"><?php include("test.html");?></textarea><br>
<input type="submit" value="Speichern" name="saved">
</form>
</body>[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von FisyX

<?php

$fhandle=fopen("$file","w+");

fwrite($fhandle,"$text");

$var=stripslashes($var );

fclose($fhandle);

echo("Die Datei wurde geändert!");

exit();

?>

Öhm, auch wenn's andere schon angedeutet haben, aber hier ist ein Logikfehler in der Abfolge:

1. Öffnen der Datei

2. Schreiben des Texts in die Datei

3. stripslashes auf $var das zum Einen nicht gefüllt ist und zum Anderen nach dem Schreiben erfolgt und somit gar nix bringen würde, auch wenn's die richtige Variable wäre

4. schliessen der Datei

Daher:

Try it like this:

<?php

$fhandle=fopen("$file","w+");

$text=stripslashes($text );

fwrite($fhandle,"$text");

fclose($fhandle);

echo("Die Datei wurde geändert!");

exit();

?>

ICQ

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...