enclave
Goto Top

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

Content-Key: 28585

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

Printed on: April 19, 2024 at 10:04 o'clock

Member: tob1
tob1 Mar 21, 2006 at 09:24:28 (UTC)
Goto Top
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.
Member: Enclave
Enclave Mar 21, 2006 at 09:27:55 (UTC)
Goto Top
Ähhhhh.......


Es ist ein Windowsserver face-smile

Den hab ich mir nicht ausgesucht aber der steht nunmal hier...

Unter Windows geht das nicht?
Member: filippg
filippg Mar 21, 2006 at 09:33:39 (UTC)
Goto Top
Hallo,

das sind PHP-Befehle, die der Interpreter auch auf Windows-Systemen korrekt ausführen sollte. Lediglich die "/" musst du für win umdrehen ("\").

Filipp
Member: Enclave
Enclave Mar 21, 2006 at 09:39:54 (UTC)
Goto Top
Also ich benutze das Script wofür ich das brauch im Intranet und benutze dafür xampp und das läuft auf nem Windowsrechner. Aber chmod geht da auch also ich probiers jetzt mal aus und sag ob es funktioniert.


Enclave
Member: Dani
Dani Mar 21, 2006 at 16:15:31 (UTC)
Goto Top
Hi,
für das löschen habe ich eine PHP Funktion geschrieben. Denn nach dem Manual von PHP muss der Order, der gelöscht werden möchte, leer sein. Mit dem Script ist es möglich auch nicht leere Ordner zulöschen. Ich kann es dir aber erst morgen posten!

Gruß
Dani
Member: Enclave
Enclave Mar 22, 2006 at 08:43:42 (UTC)
Goto Top
@Dani

Das wäre nett weil das ist eigentlich der Grund für die Frage. Ich wollt alle Inhalte eines Ordners löschen und dachte so geht es schneller. Wenn du mir das Script geben könntest wäre ich dir sehr dankbar...


Enclave
Member: filippg
filippg Mar 22, 2006 at 22:18:06 (UTC)
Goto Top
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
Member: Dani
Dani Mar 27, 2006 at 11:42:00 (UTC)
Goto Top
Hi,
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