Hallo User!

Auch noch zur späten bzw frühen Stunde habe ich unermüdlich *gähn* getestet, ob glob() oder opendir() + Konsorten schneller ist. Das Ergebnis:

Hier der Code:


<?php
$dir = dirname(__FILE__)."/";

$start = microtime();

for($i = 1;$i <= 1000; $i++)
{
$dirHandle = opendir($dir);
while(($file = readdir($dirHandle)) !== FALSE)
{
echo "<p>Filename : <b>$file</b></p>\n";
}
closedir($dirHandle);
}

$end = microtime();
$diff = $end-$start;
echo ".<p>Diese Seite wurde in $diff generiert</p>\n";

$start = microtime();

for($i = 1;$i <= 1000; $i++)
{
foreach(glob($dir."*.*") as $filename)
{
echo "<p> Filename : <b>".basename($filename)."</b></p>";
}
}
$end = microtime();

$diff = $end-$start;
echo ".<p>Diese Seite wurde in $diff generiert</p>\n";

?>

Die Ausgabe ist zu lang deswegen kann ich sie hier nicht posten!

[Live-Demo]

Strg+F -> Suche nach generiert.

Eindeutig ist anders! Und wer liest bitten schön 3 Dateien 1000 mal aus (3*1000=3000 Dateien). Man kann also sagen, dass glob minimal langsamer ist, es sich aber kaum negativ auswirkt, obwohl glob vorher noch eine RegExp bearbeiten muss und damit viel umfangreicher als opendir ist.