strong

Best practice: Mit php Verzeichnisse rekursiv auslesen

Verfasst von Jens Reinemuth am 6. Februar 2010 - 13:57

Wenn man schnell und einfach Verzeichnisse mit php rekursiv auslesen möchte, hat sich das Verwenden der folgenden Funktion als die mit Abstand performanteste Lösung herausgestellt.

Momentan benutze ich sie in meiner eigenen kleinen API openWebX um meine Bilderverzeichnisse in Gallerien zu verwandeln. Die Laufzeit für ~140 Verzeichnisse mit insgesamt ~4900 Bildern beträgt knappe 2,2Sekunden auf meinem Developerrechner, inkl. dem Speichern der Infos in die Datenbank.

Vielleicht findet der ein oder andere sie nützlich:

function fileProfileDir( $dir ) {
  static $info = array();
  if( is_dir( $dir = rtrim( $dir, "/\\" ) ) ) {
    foreach( scandir( $dir) as $item ) {
      if( $item != "." && $item != ".." ) {
        $info['all'][] = $absPath = $dir . DIRECTORY_SEPARATOR . $item;
        $stat = stat( $absPath );		
	switch( $stat['mode'] & 0170000 ) {
	  case 0100000: 
            $info['files'][]       = $absPath; 
            break;
          case 0040000: 
            $info['directories'][] = $absPath; 
            fileProfileDir( $absPath ); 
            break;
          case 0120000: 
            $info['links'][]       = $absPath; 
            break;
          case 0140000: 
            $info['sockets'][]     = $absPath; 
            break;
          case 0010000: 
            $info['pipes'][]       = $absPath; 
            break;
        }
      }
    }
  }
  clearstatcache();       
  return $info;
}
Eigene Bewertung: Keines Durchschnitt: 4.7 (3 Bewertungen)

Mehrere AVI-Dateien zu einer Datei zusammenfassen

Verfasst von Jens Reinemuth am 19. Oktober 2009 - 18:10

Bis vor Kurzem habe ich immer avimerge benutzt, um mehrere AVI-Dateien zusammenzufassen, leider gab es in letzter Zeit immer häufiger hässliche "Verschiebungen" des Tons ab der 2. Datei, sprich der Ton und das Bild waren asynchron.

Das mplayer-Paket unter gentoo installiert auch das Tool mencoder, welches diese Aufgabe immer noch perfekt erledigt:

mencoder -oac copy -ovc copy file1.avi file2.avi -o complete.avi
Eigene Bewertung: Keines Durchschnitt: 4 (2 Bewertungen)

Rechtliche Grundlagen

Verfasst von Jens Reinemuth am 16. Oktober 2009 - 6:12

In Deutschland steht an oberster Stelle natürlich das Bundesdatenschutzgesetz, welches durch Landesdatenschutzgesetze ergänzt wird.

Weiterhin gibt es einige Spezialgesetze und Vorgaben durch EG-Richtlinien.

Hier eine kurze Übersicht der wichtigsten gesetzlichen Vorgaben:

  • Bundesdatenschutzgesetz (PDF)

Piraten organisiert Euch - und zwar richtig!

Verfasst von Jens Reinemuth am 4. August 2009 - 4:35

Nachdem ich jetzt als passiver Mitleser die PiratenMLs einige Monate verfolgt habe, kann ich doch nicht anders, als mal ein paar Dinge hier festzuhalten...

Noch keine Bewertungen vorhanden

MP3 Encoding mit lame erzeugt nur noch Rauschen unter gentoo Linux

Verfasst von Jens Reinemuth am 9. Februar 2009 - 7:33

Seit einiger Zeit gibt es neuere Versionen des lame-Encoders unter gentoo, welche im Zusammenspiel mit diversen Anwendungen nur noch MP3-Dateien erzeugen, welche nur aus Rauschen bestehen.

Beispiele dafür sind:
- KDE-KIO-Slaves (audiocd:/)
- capisuite

Die Lösung ist (noch) recht einfach, man maskiert alle neueren lame-Versionen in einer Datei, z.b. /etc/portage/package.mask/misc:

>media-sound/lame-3.97-r1

Danach einfach

#~ emerge lame

und alles funktioniert wie gewohnt.

Noch keine Bewertungen vorhanden
Inhalt abgleichen