kellogsfr
Goto Top

Aus einer Webseite heraus KWrite oder einen anderen Editor aufrufen

Hallo zusammen,

kann mir vielleicht jemand sagen, wie ich aus einem cgi Script heraus das Programm KWrite aufrufe, um eine bestimmte Datei zu editieren?

Ich habe folgendes Problem:

Ich bastele mir gerade eine Seite, die haufenweise Bilder und Videos enthält. Das Ganze ist so gegliedert, dass das Datum das VErzeichnis ist und darunter ein Verzeichnis für die Bilder, eines für die Videos und eines zur Steuerung der Seite. Es sieht also so aus:

back-to-top20090513

Bilder
Video
Z-Steuerung

Im Verzeichnis Steuerung liegen vier Dateien, Spalte 1 -3 und Index, die Informationen enthalten, die später auf der Hauptseite angezeigt werden, außer dem Inhalt der Datei Index. Standardmäßig enthält Spatle1 den Verzeichnisnamen, in dem Fall also 20090513. Die anderen Spalten sind zunächst einmal leer. In der Datei Index stehen Verweise auf die Bilder und die Videos.

Wenn ich später die Übersichtsseite aufrufe, dann erscheinen haufenweise Verzeichnisse im Format

JJJJMMTT Spalte2 Spate3
JJJJMMTT Spalte2 Spate3
JJJJMMTT Spalte2 Spate3
JJJJMMTT Spalte2 Spate3
JJJJMMTT Spalte2 Spate3
usw.

wobei JJJJMMTT ein Link in das betreffende Verzeichnis ist.
Grundsätzlich baut sich die HTML Seite zusammen:

echo "<html><head><title>Tagebuch einer Scheidung: - "$Spalte1" - "$Spalte2" - </title></head>"
echo" hier kommt nun der Zusammenbau einer Übersichtstabelle mit Links auf die Unterverzeichnisse"
echo "</body></html>"

Wenn dann ein bestimmtes Verzeichnis aufgerufen wird, mach ich nicht anderes als:
echo "<html><head><title>JJJJMMTT: </title></head>"
echo "<Table> <Zeile> JJJJMMTT: - "$Spalte1" - "$Spalte2" - </Zeile>"
echo" <Zeile>hier kommt jetzt der Inhalt der INDEX Datei"</Zeile></table>
echo "</body></html>"

Die Seite baut sich also aus vier verschiedenen Dateien zusammen, die unabhängig voneinander sind.

So weit so gut.

Das Ganze ist einfach mit Scripten und Shellbefehlen realisiert und ich hatte mal ein PHP Script, das es ermöglichte, die Dateien im Verzeichnis Z-Steuerung zu editieren. Leider funktioniert das Script nicht mehr, ich weiß auch nicht warum und ich benötige dringend eine Möglichkeit, die Dateien im jeweiligen Verzeichnis zu editieren. Ich stell mir vor, dass ich automatisiert einen Link zusammenbaue, der letztlich nichts anderes macht als der Befehl:

kwrite Spate2 &

in einem Terminal, nur eben aus einer Webseite heraus.

Weiß wer wie das geht?

Gruß Kellogs

Content-ID: 116024

Url: https://administrator.de/contentid/116024

Ausgedruckt am: 15.11.2024 um 16:11 Uhr

Syraneus
Syraneus 19.05.2009 um 13:09:25 Uhr
Goto Top
Hallo,

da gibt es in php eine befehl mithilfe dem kann man dateien editieren. Hast du das php-skritp noch? wenn du es postet würde ich drüber schauen und kann dir dann vielleicht sagen wo der fehler liegt.

mfg DerChirurg
KellogsFR
KellogsFR 21.05.2009 um 11:27:59 Uhr
Goto Top
Hi Doc,

komme leider erst heute dazu, dir den Code zu posten. Hatte einiges zu tun damit, 650 Verzeichnisse auf den neuesten Stand zu bringen und Daten zu extrahieren (Sche*** Job so ne Scheidung)

Aber hier jetzt der Code:

<style type="text/css">  
TD {
	FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Verdana
}
A:link        {text-decoration: none; color: #2E26CD;}
A:visited     {text-decoration: none; color: #2E26CD;}
A:hover       {text-decoration: none; color: #990000; font-style: normal; background-color: transparent; text-decoration: underline position: relative; top: 1.5px; left: 1.5px;}
</style>

<?php
function template() {
$background="D6D5D4";$body="9C9C9C";$color1="#dededf";$color2="#eeeeee";$headerc="#778899";$headerbg="templates/pb/images/grad3.gif";$subheaderc="#dededf";$subheaderbg="templates/pb/images/sb.gif";$bordercolor="#000000";$linkcolor="#2E26CD";$vlinkcolor="#2E26CD";$hlinkcolor="#990000";$extborderwid="0";$innerborder="#778899";  
?><font face=arial><table width="100%" border="0" cellpadding="<?php echo $extborderwid ?>" cellspacing="0">  
                <tr bgcolor="<?php echo $bordercolor ?>">  
               <td height="2">  
                  <table width="100%" border="3" cellpadding="0" cellspacing="0">  
                      <tr bgcolor="<?php echo $innerborder ?>">  
                      <td height="2">  
                        <table width="100%" border="5" cellpadding="7" cellspacing="1">  
                            <tr>
                              <td bgcolor="<?php echo $headerc ?>" height="27" background="<?php echo $headerbg ?>" colspan="2"></td>  
                            </tr>
                             <tr bgcolor="<?php echo $subheaderc ?>">  
                              <td height="399" align="right" bgcolor="<?php echo $color1 ?>" width="19%" valign="top">  
                                <a href="?do=templates">Dateien auflisten</a><br>  
                                 </p></font>
                                </td><A HREF="http://fileserver/cgi-bin/TagebuchIndex">Tagebuch</A> ::  

								<?php
								  }
							  ?>

<?php
if ($file == ".html" );  
{
	$img = "file.gif" ;  
}
$do=$HTTP_GET_VARS['do'];  
echo "<html><head>";  
template();
?>
<?php
if ($do=="tempedit") {  
$te=$HTTP_GET_VARS['te'];  
$filename = "$te";  
$fd = fopen ($filename, "r");  
$stuff = fread ($fd, filesize ($filename));
fclose ($fd);
?>
<td height="399" bgcolor="<?php echo $color1 ?>" width="81%" valign="top">  
<form method="post" action="editor.php?do=temp2&te=<?php echo $te ?>">  
<table width="100%" border="1" cellpadding="5" cellspacing="0">  
<tr>
<td><font size="1">Datei Editor:</font></td>  
</tr>
<tr>
<td width="86%">  
<textarea name="cont" cols="120" rows="40"><?php echo $stuff ?></textarea>  
</td>
</tr>
<tr>
<td width="86%">&nbsp;  
<input type="submit" name="Submit" value="Save"><input type="button" name="Cancel" value="Cancel" onclick="javascript: history.back(1)">  
</td>
</tr>
<tr>
</tr>
</table>
</form>
<?php
}
if ($do=="temp2") {  
$te=$HTTP_GET_VARS['te'];  
$cont=$HTTP_POST_VARS['cont'];  
$cont=stripslashes($cont);
$fp = fopen("$te", "w");  
fputs($fp, $cont);
fclose($fp);
?>
<td height="399" bgcolor="<?php echo $color1 ?>" width="81%" valign="top">  
<table width="100%" border="0" cellpadding="5" cellspacing="0">  
<tr>
<td><font size="2">Datei gesichert</font></td>  
</tr>
</table>
<?php
}
if ($do=="templates") {  
?>
<td height="399" bgcolor="<?php echo $color1 ?>" width="81%" valign="top">  
<table width="100%" border="0" cellpadding="5" cellspacing="0">  
<tr>
<td><font size="1">Dateien</font>  
</td>
</tr>
<tr valign="top">  
</td>
</tr>
<tr>
<td width="86%">  

<?php
$handle = @opendir('.');  
while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != ".." &&  $file != "editor.php" ) {  
        echo "<TABLE WIDTH=\"100\" BORDER=\"1\" CELLSPACING=\"0\"CELLPADDING=\"0\"><TR>  <TD WIDTH=\"100%\" BGCOLOR=\"#000000\"><TABLE WIDTH=\"120\" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"2\"><TR><TD COLSPAN=\"2\" BGCOLOR=\"#dededf\"><FONT COLOR=\"#000000\" SIZE=\"-1\" FACE=\"Verdana\">&nbsp;<a href=\"editor.php?do=tempedit&te=$file\">$file</a></FONT></TD></TR></TABLE></TD></TR></TABLE>";  
    }
}
closedir($handle);
?>
<?php
}
if ($do=="delete") {  
$fd = unlink($te);
//fclose ($fd);
echo "File has been deleted";  
?>
</td>
</tr>
</table>
</form>
<?php
}
?>

Dank dir schon mal im Voraus und ein SChönes WE

Gruß Kellogs