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.5 (2 Bewertungen)

Steuersünder-CD? Seit wann hat die FDP eine Musikabteilung?

Verfasst von Jens Reinemuth am 5. Februar 2010 - 14:59

...oder so ähnlich waren meine ersten Reaktionen auf die Meldungen zu dem Buzzword "Steuersünder-CD".

Ich finde es immer noch ungeheuerlich, dass rechtlich hier mit zweierlei Maß gemessen wird. Die Regierung erwägt Gesetzesbruch um Gesetzesbrecher dingfest zu machen. Jeder halbwegs intelligente Mitbürger fasst sich da an den Kopf.

Was mich auch freut ist die - noch - absolute Standhaftigkeit der schweizer Banken, die sich weigern einen generellen Datenaustausch mit den EU-Ländern durchzuführen. Vielleicht bleiben die standhaft und spielen nicht FDP.

Jens

Noch keine Bewertungen vorhanden

Amin Tsunami - Ohne Worte

Verfasst von Jens Reinemuth am 8. Januar 2010 - 14:50

Eigene Bewertung: Keines Durchschnitt: 5 (2 Bewertungen)

Kundenzufriedenheit bei 1&1

Verfasst von Jens Reinemuth am 6. Januar 2010 - 9:03

Wer kennt sie nicht, die neue Werbung mit dem Strahlemann, der seit Jaaaahren bei 1&1 ist... Alles wird besser, alles ganz toll...

Wirklich? Vielleicht liest man sich mal die Kommentare im Blog durch:

http://blog.1und1.de/2009/12/25/marcell-davis-leiter-fuer-kundenzufriede...

Nur noch eins: Ich war 2x notgedrungen bei 1&1... Beim ersten Anschluss gabs nix ausser 1&1 und Telekom, beim zweiten bin ich zugezogen. Beide Anschlüsse mit wöchentlichen Ausfällen, Hotlines die einen 30 Minuten in die Warteschleife legen und Mitarbeitern, die alles andere als Kompetenz an den Tag legen.

Beim letzten Mal kam ich durch nen Umzug raus. 1&1 hat es nicht geschafft in 2 Monaten alles zu regeln, mich dann um einen ganzen weiteren Monat vertröstet, weil angeblich die Telekom Schuld sei. Ein Anruf bei Arcor, 2 Tage später hatte ich einen Anschluss...

Jens

Noch keine Bewertungen vorhanden

MKV-Container umkonvertieren zu DVD

Verfasst von Jens Reinemuth am 1. Januar 2010 - 13:50

Nachdem ich viel gegooglet habe und die unterschiedlichsten HowTos erfolglos durchgetestet habe: Warum in die Ferne schweifen...

ffmpeg kennt in den neuesten Versionen das mkv-Format als Input. Damit ist alles sehr einfach:


$ ffmpeg -i MeineDatei.mkv -target dvd MeineDatei.mpg
$ mkdir DVD
$ dvdauthor --title -f MeineDatei.mpg -o DVD
$ dvdauthor -T -o DVD
$ growisofs -dvd-compat -dvd-video -Z /dev/dvd ./DVD/*

Frohes neues Jahr!

Jens

Eigene Bewertung: Keines Durchschnitt: 5 (1 Bewertung)

Elf Yourself!

Verfasst von Jens Reinemuth am 23. Dezember 2009 - 14:35

Wer es noch nicht kennt:

http://elfyourself.jibjab.com

Foto hochladen, Tanz auswählen, versenden.

Noch keine Bewertungen vorhanden

Frohe Weihnachten @all!

Verfasst von Jens Reinemuth am 22. Dezember 2009 - 16:36

So, das Fest der Liebe ist gekommen, wie immer muss ich noch kurz vor Heiligabend das ein oder andere besorgen. Jeeeeedes Jahr nehm ich mir vor solche Dinge spätestens 2 Wochen vorher erledigt zu haben - aber wozu sind gute Vorsätze da? Richtig: um vergessen zu werden...

Noch keine Bewertungen vorhanden

Chaosradio: "Responsible Disclosure – Oder: Wie man als Hacker am Leben bleibt"

Verfasst von Jens Reinemuth am 25. November 2009 - 9:03

Das könnte interessant werden:

Sendungsdatum: 25.11.2009, 22:00 Uhr

Teilnehmer: Marcus Richter (Moderation), Felix von Leitner, Andy Müller-Maguhn

Eigene Bewertung: Keines Durchschnitt: 5 (1 Bewertung)

Neues Leben entsteht...

Verfasst von Jens Reinemuth am 15. November 2009 - 7:44

Ich glaube, hier spare ich mir die Worte...

Ultraschall 09.09.2009Ultraschall 09.09.2009Ultraschall 02.10.2009Ultraschall 02.10.2009Ultraschall 21.10.2009Ultraschall 21.10.20093D Ultraschall 12.11.20093D Ultraschall 12.11.2009

Noch keine Bewertungen vorhanden

Wie man andere in den Wahnsinn treibt

Verfasst von Jens Reinemuth am 7. November 2009 - 4:45

1.Verlasse das Kopiergerät mit folgenden Einstellungen: 200% verkleinern, A5 Papier, 99 Kopien

2.Sitz in deinem Garten und zeige mit einem Fön auf vorbeifahrende Autos, um zu sehen, ob sie langsamer werden.

3.Fülle drei Wochen lang entkoffeinierten Kaffe in die Kaffeemaschine.
Sobald alle ihre Koffeinsucht überwunden haben, gehe über zu Espresso.

4.Falls du ein Glasauge hast, tippe mit dem Füllfederhalter dagegen, wenn du mit jemandem sprichst.

5.Schreibe "Für sexuelle Gefälligkeiten" in die `Verwendungszweck Zeile
all deiner Überweisungen.

Eigene Bewertung: Keines Durchschnitt: 5 (1 Bewertung)
Inhalt abgleichen Inhalt abgleichen