Ich habe mich mal an eine Art "CMS" (oder besser gesagt Onlineaktualisierungstool) heraungewaagt, dass ich bei HomePH Design v1.55[/font][/url] integriert habe..
Zunächst wird das Hauptverzeichnis ausgelesen und die Dateien werden dann aufgelistet und stehen in einem Dropdownmenü zur Auswahl. Soweit funktioniert auch alles, allerdings werden im Auswahlmenü auch die Order angezeigt und nicht nur die Dateien..
Wie erreiche ich jetzt, dass die Ordner von vornerein gar nicht ausgelesen werden oder zumindest nicht im Dropdownmenü auftauchen ?
<?php
##### PASSWORD #####
$password = "{replacepassword}";
##### PASSWORD #####
$absolute_path = "../";
$dl = "../";
$none = "- none -";
$dir = opendir($absolute_path);
$empty = true;
while($file = readdir($dir))
{
if (($file != "..") && ($file != "."))
{
$list .= "<option>$file</option>
";
}
}
closedir($dir);
$korrekt = false;
$finish = false;
$updatechoose = $_POST["updatechoose"];
if($_POST["choose"])
{
if($_POST["updatechoose"] == "")
{
$alert1 = "Wählen Sie erst eine Seite aus !";
}
else
{
$openinclud = fopen($absolute_path.$updatechoose, "r");
$includ = fread($openinclud, filesize($absolute_path.$updatechoose));
$includ1 = str_replace("<?","{PHP",$includ);
$include = str_replace("?>","PHP}",$includ1);
$korrekt = true;
}
}
if($_POST["submit"])
{
if($_POST["password"] == $password)
{
$openfile = fopen($absolute_path.$_POST["include2"], "w");
$updatewrite = str_replace("{PHP","<?",$_POST["updateversion"]);
$updatewrite2 = str_replace("PHP}","?>",$updatewrite);
fwrite($openfile, $updatewrite2);
fclose($openfile);
$alert = "Die Website wurde aktualisiert ;-)";
$finish = true;
}
else
{
$alert = "Falsches Passwort. Diese Option ist nur für Webmaster der Website.";
}
}
if($finish == true)
{
$openreplace1 = fopen($absolute_path.$_POST["include2"], "r+");
$replace = fread($openreplace1, filesize($absolute_path.$_POST["include2"]));
$replace1 = str_replace('\"','"',$replace);
$replace2 = str_replace("\'","'",$replace1);
fclose($openreplace1);
$openreplace2 = fopen($absolute_path.$_POST["include2"], "w");
fwrite($openreplace2,$replace2);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" type="text/css" href="../main.css">
<?php include("../title.txt") ?>
</head>
<body>
<form action="<?=$PHP_SELF;?>" method="POST">
<span class="ueberschrift">Onlineaktualisierung der Website</span><br><br>
<b><?=$alert1;?></b><br>
Dies ist der Onlineaktualisierungsbereich<br><br>
Bitte wählen Sie aus, welche Seite Sie updaten möchen :<br><br>
<select class="login" name="updatechoose" value="<?=$_POST["updatechoose"];?>">
<option></option>
<?=$list;?>
</select>
<input class="loginbutton" type="submit" name="choose" value="Auswählen"><br>
</form>
<form action='<?=$PHP_SELF;?>' method='POST'>
<input type="text" style="display:none;" name="include2" value="<?=$updatechoose;?>">
<b><?=$alert;?><? if($korrekt == true){echo 'Sie aktualisieren gerade "';echo "$updatechoose";echo '"';}?></b><br>
<textarea name='updateversion' cols='60' rows='20'><? if($korrekt == true){echo $include;}?></textarea><br><br>
Passwort : <input type='password' name='password' value='******' onfocus='this.value=""'>
<input type='submit' name='submit' value='Updaten'><br>
<form>
</center>
</body>
</html>