Seite 1 von 1
Datei online editieren
Verfasst: 12.10.2004 17:47
von Morgooth
Hi,
Erstmal Sorry, passt leider net wirklich rein, aber ich such das schon eine geraume Zeit.
ich bräuchte ein Script mit dem man online eine Datei editieren kann. Finde leider nichts und eigene Sachen gingen bisher ein bisschen schief, daher wollte ich fragen ob zufällig wer schon sowas gecodet hat oder selber eines hat?
Wirklich ganz einfach nur zum editieren, nicht sehr aufwändig, also kein Adminbereich, besondere Bildverziehrung etc. Thx bin euch sehr sehr Dankbar!
Verfasst: 12.10.2004 19:42
von Blutgerinsel
hmmm du müsstest doch nur eine File auslesen und dies in ein Textarea legen ???
Verfasst: 12.10.2004 20:25
von Morgooth
gibt aber Probleme mit den " und ' und \
Naja aber hab was mit einem Freund zusammen gecodet und es scheint zu fuzen:
Lediglich $path_to_file = "way/to/path.php"; ausfüllen und es geht
edit: die Datei muss logedit.php heißen oder ihr ändert
<form action=\"logedit.php\" method=\"post\">\n";
Code: Alles auswählen
<?php
error_reporting(E_ALL);
$path_to_file = "way/to/path.php";
function array_stripslashes(&$var) {
if(is_string($var)) {
$var = stripslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_stripslashes($var[$key]);
}
}
}
}
function array_addslashes(&$var) {
if(is_string($var)) {
$var = addslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_addslashes($var[$key]);
}
}
}
}
function array_htmlspecialchars(&$var) {
if(is_string($var)) {
$var = htmlspecialchars($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_htmlspecialchars($var[$key]);
}
}
}
}
if(get_magic_quotes_gpc()) {
array_stripslashes($_POST);
}
array_addslashes($_POST);
if(isset($_POST['newinhalt']) AND $_POST['newinhalt']!="" AND strlen($_POST['newinhalt'])>10) {
$file = fopen($path_to_file, 'w+');
fwrite($file, stripslashes($_POST['newinhalt']));
fclose($file);
}
$file = fopen($path_to_file, 'r');
$inhalt = "";
while(!feof($file)) {
$inhalt .= fread($file, 500);
}
fclose($file);
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//DE\"\n";
echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"de\" lang=\"de\">\n";
echo " <head>\n";
echo " <title>Änderungen protokollieren</title>\n";
echo " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n";
echo " </head>\n";
echo " <body>\n";
echo " <form action=\"logedit.php\" method=\"post\">\n";
echo " <textarea name=\"newinhalt\" rows=\"40\" cols=\"150\">".htmlspecialchars($inhalt)."</textarea><br />\n";
echo " <input type=\"submit\" name=\"submit\" value=\"ändern\" />";
echo " </form>\n";
echo " </body>\n";
echo "</html>\n";
?>
Verfasst: 13.10.2004 00:37
von rox²³
Die Probleme mit dem " ' \ kann man doch mit string_replace() lösen.
Alternativ kann man auch mit HTML Sonderzeichen arbeiten:
& # 34;
& # 39;
& # 92; (ohne Leerzeichen)
etc.
Verfasst: 16.10.2004 12:59
von Morgooth
Achja, kleiner Umbau damit man alle Datein online editieren kann:
www.mein-seite.at/logedit.php?file=datei.php
(kann natürlich auch heißen: logedit.php=file=../datei.php )
Code: Alles auswählen
<?php
if (!isset($_GET['file'])) {
exit();
}
error_reporting(E_ALL);
$path_to_file = $_GET['file'];
function array_stripslashes(&$var) {
if(is_string($var)) {
$var = stripslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_stripslashes($var[$key]);
}
}
}
}
function array_addslashes(&$var) {
if(is_string($var)) {
$var = addslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_addslashes($var[$key]);
}
}
}
}
function array_htmlspecialchars(&$var) {
if(is_string($var)) {
$var = htmlspecialchars($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_htmlspecialchars($var[$key]);
}
}
}
}
if(get_magic_quotes_gpc()) {
array_stripslashes($_POST);
}
array_addslashes($_POST);
if(isset($_POST['newinhalt']) AND $_POST['newinhalt']!="" AND strlen($_POST['newinhalt'])>10) {
$file = fopen($path_to_file, 'w+');
fwrite($file, stripslashes($_POST['newinhalt']));
fclose($file);
}
$file = fopen($path_to_file, 'r');
$inhalt = "";
while(!feof($file)) {
$inhalt .= fread($file, 500);
}
fclose($file);
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//DE\"\n";
echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"de\" lang=\"de\">\n";
echo " <head>\n";
echo " <title>Änderungen protokollieren</title>\n";
echo " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n";
echo " </head>\n";
echo " <body>\n";
echo " <form action=\"logedit.php?file=" . $path_to_file ."\" method=\"post\">\n";
echo " <textarea name=\"newinhalt\" rows=\"40\" cols=\"150\">".htmlspecialchars($inhalt)."</textarea><br />\n";
echo " <input type=\"submit\" name=\"submit\" value=\"ändern\" />";
echo " </form>\n";
echo " </body>\n";
echo "</html>\n";
?>
Verfasst: 16.10.2004 13:38
von Blutgerinsel
Deine Page ist offensichtlich offline
