<?php
// Werte von folder und change aus Adresse holen
// Bei error_reporting(E_ALL); würden bei Erstaufruf der Datei zwei Fehlermeldungen ausgegeben da folder und change nicht definiert sind
$getfolder = strip_tags(htmlspecialchars($_GET['folder']));
$getchange = strip_tags(htmlspecialchars($_GET['change']));
// HTML-Kram
echo "<!doctype html />
<html lang=\"de\" />
<head />
<meta charset=\"UTF-8\" />
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\" />
<title />Dateien in einem Ordner eine Null anhängen</title>
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />
</head>
<body />";
// Verzeichnis in dem sich diese Datei befindet scannen
$folderarray = scandir("./");
// Wenn folder in Adresse nicht angegeben ist, die Ordner als Links auflisten
if($getfolder == "") {
echo("<p />Klicke auf einen Ordner um die dort enthaltenen Dateien zu ändern:<br /><br />");
foreach($folderarray as $folderhandle) {
// Nur Ordner (Verzeichnisse) anzeigen und .. und . ausschließen
if(is_dir($folderhandle) && $folderhandle != ".." && $folderhandle != ".") {
echo("• <a href=\"?folder=".$folderhandle."&change=notnow\" target=\"_self\" alt=\"Dateien in ".$folderhandle." ändern\" title=\"Dateien in ".$folderhandle." ändern\" />".$folderhandle."</a><br />");
}
}
echo("</p>");
// Wenn folder angegeben ist, dann nutzen sofern er existiert (in folderarray vorhanden) und nicht leer ist
} elseif(in_array($getfolder, $folderarray) && count(glob("$getfolder/*")) != 0) {
// Den angegebenen Ordner scannen
$filearray = scandir($getfolder);
// Wenn change nicht gleich "doit" ist, dann Dateien auflisten (mit Größe in Bytes) und fragen ob alle geändert werden sollen
if($getchange != "doit") {
echo("<p />Im Ordner <code />".$getfolder."</code> befinden sich folgende Dateien:<br /><br />");
foreach ($filearray as $filehandle) {
$filename = $getfolder."/".$filehandle;
if (is_file($filename) && $filehandle != "index.html") {
echo("• ".$filehandle." | ".filesize($filename)." Bytes <br />");
}
}
echo("<br />Alle Dateien änden? <a href=\"?folder=".$getfolder."&change=doit\" target=\"_self\" alt=\"Alle Dateien in ".$getfolder." ändern\" title=\"Alle Dateien in ".$getfolder." ändern\" />JA</a> | <a href=\"?folder=&change=\" target=\"_self\" alt=\"Zurück zur Übersicht\" title=\"Zurück zur Übersicht\" />NEIN</a><br /><br /><small />Mit einem Klick auf <b />JA</b> wird den Dateiinhalten, am Dateiende eine 0 (Null) hinzugefügt!</p>");
// Wenn change gleich "doit" ist, die Dateien verarbeiten und auflisten...
} else {
echo("<p />Im Ordner <code />".$getfolder."</code> befinden sich folgende Dateien:<br /><br />");
foreach($filearray as $filehandle) {
$filename = $getfolder."/".$filehandle;
// wenn Arrayeintrag (filearray) eine Datei und nicht index.html ist
if(is_file($filename) && $filehandle != "index.html") {
$filesize = filesize($filename);
echo("• ".$filehandle." | alt: ".$filesize." Bytes | neu: ");
// wenn die Datei existiert und beschreibbar ist
if(is_writable($filename)) {
// a+ ist nicht erforderlich, da die Datei nicht ausgelesen wird - zum Schreiben reicht a
$singlefile = fopen($filename,"a");
// Hier wird die Null an den Dateiinhalt angehängt
fwrite($singlefile,"0");
fclose($singlefile);
// nach Änderung einen Byte hinzuzählen
echo(($filesize +1)." Bytes<br />");
// Hinweis ausgeben wenn Datei nicht geändert werden kann
} else {
echo($filesize." Bytes (<code />Hinweis: Die Datei existiert nicht mehr oder ist schreibgeschützt!</code>)<br />");
}
}
}
// Alle Änderungen wurden abgeschlossen
echo("<br />Vorgang abgeschlossen!<br /><br /><a href=\"?folder=&change=\" target=\"_self\" alt=\"Zurück zur Übersicht\" title=\"Zurück zur Übersicht\" />Klicke hier</a>, um zur Ordnerübersicht zurück zu gelangen.</p>");
}
// Wenn der angegebene Ordner nicht existiert oder keine Dateien enthält
} else {
echo("<p />Der Ordner <code />".$getfolder."</code> existiert nicht mehr oder enthält keine Dateien!<br /><br /><a href=\"?folder=&change=\" target=\"_self\" alt=\"Zurück zur Übersicht\" title=\"Zurück zur Übersicht\" />Klicke hier</a>, um zur Ordnerübersicht zurück zu gelangen.</p>");
}
// HTML-Tags schließen
echo "</body>
</html>";
?>