Hallo zusammen!
Jetzt muss ich leider ein bisschen weiter ausholen...
Ich schreibe gerade für einen Freund der sich nicht so gut mit html und co. auskennt so eine Art "Programmierhilfe".
Eine Seite mit der er online seine Dateien bearbeiten kann ohne sie runter- und hochladen zu müssen und per "Knopfdruck" html-Tags einfügen kann.
Mit Editor-Programmen kommt er auch nicht wirklich klar und um ihn nicht zusatzlich mit vielen Files zu verwirren soll alles in eine einzige File.
Soweit funktioniert auch alles - bis auf das speichern der bearbeiteten Datei.
Fummel jetzt schon seit Stunden dran rum und google wie blöd, aber ich komm einfach nicht auf die Lösung.
Ich poste einfach mal den gesamten Quelltext - vielleicht seht ihr ja was das ich nicht sehe
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style type="text/css">
body
{
background-color:#00CED1;
font-family:verdana, arial, sans-serif;
font-size:16px;
color:#000000;
}
.maintitle {text-align:center; font-size:26px;}
.subtitle {text-align:center; font-size:20px;}
.done {text-align:center; font-size:30px; color:#00FF00;}
.wichtig {text-align:center; color:#FF0000;}
.beispiel {text-align:center; font-size:12px;}
.jsbutton {width:100%;}
</style>
<script type="text/javascript">
<!--
function insert(aTag, eTag) {
var input = document.forms['formular'].elements['eingabe'];
input.focus();
/* für Internet Explorer */
if(typeof document.selection != 'undefined') {
/* Einfügen des Formatierungscodes */
var range = document.selection.createRange();
var insText = range.text;
range.text = aTag + insText + eTag;
/* Anpassen der Cursorposition */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -eTag.length);
} else {
range.moveStart('character', aTag.length + insText.length + eTag.length);
}
range.select();
}
/* für neuere auf Gecko basierende Browser */
else if(typeof input.selectionStart != 'undefined')
{
/* Einfügen des Formatierungscodes */
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
/* Anpassen der Cursorposition */
var pos;
if (insText.length == 0) {
pos = start + aTag.length;
} else {
pos = start + aTag.length + insText.length + eTag.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* für die übrigen Browser */
else
{
/* Abfrage der Einfügeposition */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Einfügen des Formatierungscodes */
var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
}
}
//-->
</script>
<title>Programmierhilfe</title>
</head>
<body>
<div class="maintitle">Programmierhilfe</div>
<div class="subtitle">written by Donkey</div>
<hr width="100%"><br>
<?php
if ($_SERVER['QUERY_STRING'] == 'done'){
echo'<br><br><br><br><br><br><br><div class="done">Die Änderungen wurden erfolgreich gespeichert!</div>';
}
else{
echo'
<center>
<p class="wichtig">Diese Datei (webmaster.php) muss sich auf dem selben Server befinden wie die zu bearbeitende Datei</p><br>
<form action="webmaster.php#work" method="post">
<div>Wähle den <b>relativen</b> Pfad zur Datei (von dieser Datei aus gesehen):</div><br>
<input type="text" name="dateipfad" size="100">
<div class="beispiel">Beispiel: ../../testordner/testdatei.html</div><br><br>
<input type="submit" name="submit1" value="Datei zum bearbeiten öffen und Backup anlegen">
</form>
</center>
';
$dateipfad = $_POST['dateipfad'];
if (isset($_POST['submit1'])){
chmod ($dateipfad, 0755);
$buauslesen = fOpen($dateipfad, "r");
$bu = file_get_contents($dateipfad);
fClose($buauslesen);
$bupfad = $dateipfad.'_backup.txt';
$buschreiben = fOpen($bupfad, "w+");
fWrite($buschreiben, $bu);
fClose($buschreiben);
$backupoutput = 'Es wurde eine Backup-Datei angelegt - Pfad: <b>'.$bupfad.'</b>';
?>
<br><br><a name="work"> </a><div class="wichtig"><?php echo $backupoutput; ?><br><br>
Folgende Datei wurde zur Bearbeitung geladen: <b><?php echo $dateipfad; ?></b></div><hr><br>
<form name="formular" action="webmaster.php" method="post">
<table width="100%" border="0"><tr>
<td width="75%" valign="top">
<textarea name="eingabe" rows="32" cols="1" style="width:100%"><?php echo $bu; ?></textarea><br><br>
<center><input type="submit" name="submit2" value="Speichern"></center>
</td><td width="25%" valign="top">
<div class="wichtig">In den Quelltext einfügen</div><br>
<div class="beispiel">HTML-Grundgerüsst</div>
<input class="jsbutton" type="button" value="Doctype/html" onClick="insert('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>', '')">
<input class="jsbutton" type="button" value="head" onClick="insert('<head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1">', '</head>')">
<input class="jsbutton" type="button" value="Seitentitel" onClick="insert('<title>', '</title>')">
<input class="jsbutton" type="button" value="body" onClick="insert('<body>', '</body>')">
<input class="jsbutton" type="button" value="html-Datei schliessen" onClick="insert('</html>', '')">
<input class="jsbutton" type="button" value="Stylesheets einfügen" onClick="insert('<link rel="stylesheet" type="text/css" href="', '.css">')">
<input class="jsbutton" type="button" value="JavaScript einfügen" onClick="insert('<link type="text/javascript" href="', '.js"></script>')"><br><br>
<input class="jsbutton" type="button" value="Zeilenumbruch" onClick="insert('<br>', '')">
<input class="jsbutton" type="button" value="Absatz erzeugen" onClick="insert('<p>', '</p>')">
<input class="jsbutton" type="button" value="Container erzeugen" onClick="insert('<div>', '</div>')">
<input class="jsbutton" type="button" value="erzwungenes Leerzeichen" onClick="insert('&nbsp;', '')">
<input class="jsbutton" type="button" value="Fettschrift" onClick="insert('<b>', '</b>')">
<input class="jsbutton" type="button" value="Unterstrichen" onClick="insert('<u>', '</u>')">
<input class="jsbutton" type="button" value="Kursivschrift" onClick="insert('<i>', '</i>')">
<input class="jsbutton" type="button" value="Zentrieren" onClick="insert('<center>', '</center>')">
<input class="jsbutton" type="button" value="Bild einfügen" onClick="insert('<img src"', '" width="" height="" border="" alt="">')">
<input class="jsbutton" type="button" value="Link einfügen" onClick="insert('<a href="', '"></a>')">
<input class="jsbutton" type="button" value="Tabelle einfügen" onClick="insert('<table width="" border="">', '</table>')">
<input class="jsbutton" type="button" value="Tabellenzeile einfügen" onClick="insert('<tr>', '</tr>')">
<input class="jsbutton" type="button" value="Tabellenzelle einfügen" onClick="insert('<td>', '</td>')">
<input class="jsbutton" type="button" value="Horizontale Linie" onClick="insert('<hr width="', '">')">
<input class="jsbutton" type="button" value="PHP-Bereich" onClick="insert('<?php ', '?>')">
<input class="jsbutton" type="button" value="PHP: Datei einfügen (include)" onClick="insert('include (\'', '\'); ')">
</td>
</tr></table>
</form>
<?php
}
}
if (isset($_POST['submit2'])){
$eingabe = $_POST['eingabe'];
$newfile = fOpen($dateipfad, "w");
fWrite($newfile, $eingabe);
fClose($newfile);
echo'<meta http-equiv="refresh" content="0; url=webmaster.php?done">';
}
?>
</body>
</html>
Alles anzeigen
Gruss, Donkey