Scripte

PHP Script: dir_functions-0.1_beta.lib.php

Nach obenNach unten

Zurück zur Übersicht - Datei downloaden

  1. <?php
  2.  
  3. //         ************************************
  4. //         ***    dir_functions.lib.php     ***
  5. //         ************************************
  6.  
  7. // -----------------------------------------------------------------------
  8. /*
  9.     Copyright:
  10.     ==============
  11.     Dieses Script wurde ursprünglich von Dennis Riehle geschrieben - Sie dürfen
  12.     das Script frei verwenden, bearbeiten und weitergeben, solange dieser Copyright
  13.     Hinweis nicht entfernt wird.
  14.     Es erfolgt keinerlei Haftung für eventuell durch dieses Script entstandene
  15.     Schäden - die Benutzung erfolgt auf eigene Gefahr.
  16.    
  17.     Beschreibung:
  18.     ==============
  19.     Dieses Script enthält ein paar einzelne PHP Funktionen, welche sich bei der
  20.     Arbeit auf dem lokalen File System hilfreich zeigen können.
  21.    
  22.     Inhalt:
  23.     ==============
  24.     - Funktion: dir2array ( string Path [ , bool .ht-Files [ , bool Dot-Files ] ] )
  25.     - Funktion: rm_dir_files ( string Path )
  26. */
  27.  
  28. // -----------------------------------------------------------------------
  29. function dir2array($dirpath, $ht_files = false, $dot_files = false)
  30. {
  31.     // Wenn das Verzeichnis nicht geöffnet werden kann, false zurück liefern
  32.     if(!$handle = opendir($dirpath))
  33.     {
  34.         return false;
  35.     }
  36.     // Rückgabearray für Filenames initialisieren
  37.     $files  = array();
  38.     // Für jeden Inhalt des Ordners...
  39.     while(($file = readdir($handle)) !== false)
  40.     {
  41.         // Wenn
  42.         //    der Dot-File Modus aktiviert ist oder der File kein Dot-File ist
  43.         //    UND
  44.         //    der ht-File Modus aktiviert ist oder der File kein ht-File ist
  45.         if(  ($dot_files == true OR ($file != "." AND $file != ".."))
  46.              AND
  47.              ($ht_files == true OR !preg_match("/(.*)\.ht(.*)/U", $file))
  48.           )
  49.         {
  50.             // Dann den File in das Rückgabearray hinzufügen
  51.             $files[] = $file;
  52.         }
  53.     }
  54.     // Den Handle korrekt schließen
  55.     closedir($handle);
  56.     // Das Array mit den Files sortieren
  57.     sort($files);
  58.     // Und das Array zurückgeben
  59.     return $files;
  60. }
  61.  
  62. // -----------------------------------------------------------------------
  63. function rm_dir_files($dirpath)
  64. {
  65.     // Backslashes durch normale Slashes ersetzen - multifunktional
  66.     $dirpath = str_replace("\\", "/", $dirpath);
  67.     // Wenn das letzte Zeichen in $dirpath ein Slash ist, diesen entfernen
  68.     if(substr($dirpath, -1, 1) == "/")
  69.     {
  70.         $dirpath = substr($dirpath, 0, -1);
  71.     }
  72.     // Wenn das Verzeichnis nicht geöffnet werden kann, false zurück liefern
  73.     if(!$handle = opendir($dirpath))
  74.     {
  75.         return false;
  76.     }
  77.     // Für jeden Inhalt des Ordners...
  78.     while(($file = readdir($handle)) !== false)
  79.     {
  80.         // Die Einträge . und .. auslassen
  81.         if($file == "." OR $file == "..")
  82.         {
  83.             continue;
  84.         }
  85.         // Ist der aktuelle Eintrag eine Datei, diese löschen
  86.         if(is_file($dirpath . "/" . $file))
  87.         {
  88.             unlink($dirpath . "/" . $file);
  89.         }
  90.         // Sonst, wenn es ein Verzeichnis ist, dieses leeren und löschen
  91.         // (per rm_dir_files())
  92.         else
  93.         {
  94.             rm_dir_files($dirpath . "/" . $file);
  95.         }
  96.     }
  97.     // Den Handle korrekt schließen
  98.     closedir($handle);
  99.     // Das Verzeichnis selber löschen
  100.     rmdir($dirpath);
  101.     // und true zurückliefern
  102.     return true;
  103. }
  104.  
  105.  
  106. // -----------------------------------------------------------------------
  107. /*
  108.     ENDE
  109. */
  110. ?>

Zurück zur Übersicht - Datei downloaden

Nach obenNach unten

Valid XHTML 1.0! Valid CSS!

Letzte Änderungen: Sonntag, der 03. Februar 2008
© 2005, Dennis Riehle.