Bestimmte Dateien nicht löschen
Hallo,
habe mich ohne Vorwissen ein klein wenig mit php beschäftigt, um folgendes Problem zu lösen: Der Cache unseres Shop speichert unzählige kleine Dateien und wird dabei langsamer. Nach dem Löschen der Dateimengen geht´s wieder. Das Löschen soll automatisch erfolgen per Cronjob.
Habe jetzt 2 Versionen gefunden und daran rumgespielt, bis es über den Browser schon mal funktionierte.
Version A
<?
function removeRekursiv($dir)
{
$dp = opendir($dir);
while($file = readdir($dp))
{
$name = $dir . "/" . $file;
if ($file != "." && $file != "..")
{
if (is_dir($name))
removeRekursiv ($name);
else
unlink($name);
}
}
closedir($dp);
// rmdir($dir); // Verzeichnis l?schen
}
removeRekursiv("cache");
?>
Version B
<?PHP
$strDir = './cache/';
$oDir = dir( $strDir );
while ( false !== ( $strFile = $oDir->read () ) )
{
if ( $strFile != '.' && $strFile != '..'
&& ! is_link ( $strDir . $strFile )
&& is_file ( $strDir . $strFile ) )
{
if ( @ unlink ( $strDir . $strFile ) )
{
}
else
{
}
}
}
$oDir->close();
?>
(Bei B sind unten zu viele Klammern... Ich finde nur nicht die überflüssige(n))
Jetzt das fehlende i-Tüpfelchen: Die beiden Dateien index.html und .htaccess sollen nicht gelöscht werden. Trotz vieler betrachteter Schnipsel und Tutorials fehlt mir die passende Sequenz und auch das entsprechende Wissen. Kann mir da jemand auf die Sprünge helfen? Danke!
|