Moin!
Das ganze mach ich auch nur, weil auf meine Seite massive Attacke statt finden.
Ah. Das erklärt die Panik, die aus dem Code ersichtlich wurde. Aber es stellt sich die Frage, warum Du Die Datei dann nicht automatisch anlegst (Code unten).
Jörg Reinholz
<?php
# Dein Code ist nicht gut aufgeräumt, ich habe das mal geändert.
$myfolder = '/var/www'; # Hier statisch, weil in der Konsole getestet.
# So wie Du das anfängst brauchst Du eine globale Variable für den Array:
$GLOBALS['folder_array']=array();
list_folder($myfolder);
asort($GLOBALS['folder_array']);
foreach($GLOBALS['folder_array'] AS $folder){
echo $folder."<br>\n";
if (! (
is_file($folder.'/index.php')
|| is_file($folder.'/index.html')
|| is_file($folder.'/index.pl')
)
) {
if ( touch ($folder.'/index.html') ) {
chmod ($folder.'/index.html', 0644)
echo "Verzeichnis hatte keine index-Datei, wurde angelegt.<br>\n";
} else {
echo "Verzeichnis hatte keine index-Datei, Anlegen ging auch nicht.<br>\n";
}
}
}
exit; # "Deklaratorisch", damit der Progger weiß, hier ist das Hauptprogramm zu Ende
function list_folder($path){
if( $handle = @opendir($path) ) {
#Hinweis
#@ ist "böse", Du bekommst nicht mit, wenn ein Verzeichnis nicht lesbar ist
while (false !== ($file = readdir($handle))){
if ($file != "." && $file != ".." && is_dir($path."/".$file) ) {
$GLOBALS['folder_array'][] = $path.'/'.$file;
list_folder($path.'/'.$file); # das hier nennt sich "rekursiver Funktionsaufruf"
}
}
closedir($handle);
}
}
?>