PHP - Verzeichnisse auf dem Server löschen bzw. erstellen. Wie geht das?
Moin Leudde,
Also ich würde gerne mit einem PHP Befehl Ordner auf meinem Server löschen/erstellen. Wie kann ich das lösen?
Ich habe schon viel gegooglet aber nichts gefunden. Ich hoffe ihr könnt mir helfen.
Mfg
Enclave
Also ich würde gerne mit einem PHP Befehl Ordner auf meinem Server löschen/erstellen. Wie kann ich das lösen?
Ich habe schon viel gegooglet aber nichts gefunden. Ich hoffe ihr könnt mir helfen.
Mfg
Enclave
Please also mark the comments that contributed to the solution of the article
Content-Key: 28585
Url: https://administrator.de/contentid/28585
Printed on: April 25, 2024 at 17:04 o'clock
8 Comments
Latest comment
http://de3.php.net/manual/de/ref.filesystem.php
Da stehen PHP Befehle um ein Linuxfilesystem zu "administrieren" also kannst mit mkdir() ein Ordner erstellen usw.
Da stehen PHP Befehle um ein Linuxfilesystem zu "administrieren" also kannst mit mkdir() ein Ordner erstellen usw.
Hallo,
warum sagst du das mit dem rekursiven löschen nicht gleich? Dazu ist es eigentlich am praktischsten auf die Bordmittel des OS zuzugreifen. Mit exec() kannst du Befehle wie auf der Kommandozeile ausführen. Und mit "rd /S /Q [Verzeichnisname]" kannst du unter Win Ordner inkl. aller enthaltenen Unterordner und Dateien löschen.
Filipp
warum sagst du das mit dem rekursiven löschen nicht gleich? Dazu ist es eigentlich am praktischsten auf die Bordmittel des OS zuzugreifen. Mit exec() kannst du Befehle wie auf der Kommandozeile ausführen. Und mit "rd /S /Q [Verzeichnisname]" kannst du unter Win Ordner inkl. aller enthaltenen Unterordner und Dateien löschen.
Filipp
Hi,
hier wie versprochen deine Funktion:
Gruß
Dani
hier wie versprochen deine Funktion:
//Löscht ein geünschtes Verzeichnis mit samt Ordner und Dateien
function rm_dir($dir)
{
$stack = array($dir);
while (count($stack))
{
$dir = end($stack);
$dh = opendir($dir);
if(!$dh) {trigger_error('clear_tmp_dir: unable to opendir ' . $dir, E_USER_ERROR);}
while(($file = readdir($dh)) !== false)
{
if($file == '.' or $file == '..')
{
continue;
}
if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {$stack = $dir . DIRECTORY_SEPARATOR . $file;}
else if (is_file($dir . DIRECTORY_SEPARATOR . $file)) {unlink($dir . DIRECTORY_SEPARATOR . $file);}
else {trigger_error('clear_tmp_dir: ignoring ' . $dir .DIRECTORY_SEPARATOR . $file, E_USER_ERROR);}
}
if(end($stack) == $dir)
{
rmdir($dir);
array_pop($stack);
}
}
}
Gruß
Dani