Nachdem ich nun 'ne halbe Stunde hoch und runter gelesen habe, fiel mir nun endlich auch der Zusammenhang auf. Ich habe einfach das foreach überlesen.
Ändere ich analog des o.a. Beispiels in der prune.php die betreffende Stelle:
- Code: Alles auswählen
while ( $row = $db->sql_fetchrow($result) )
{
$sql_post .= ( ( $sql_post != '' ) ? ', ' : '' ) . $row['post_id'];
// Cache Posts
foreach (glob($phpbb_root_path.'cache/posts/*post_'.$row['post_id'].'.gz') as cachefile)
{
@unlink($cachefile);
}
// Cache Posts
}
um in
- Code: Alles auswählen
while ( $row = $db->sql_fetchrow($result) )
{
$sql_post .= ( ( $sql_post != '' ) ? ', ' : '' ) . $row['post_id'];
# // Cache Posts
$files = glob($cache_folder.$cstyle.'post_'.$post_id.'.gz');
if ($files)
{
foreach ($files as $cachefile)
{
@unlink($cachefile);
}
}
// Cache Posts
}
funktioniert schon mal das prunen ohne Fehlermeldung in der prune.php.
Es bleiben aber weiterhin die Cache Dateien erhalten und lassen sich auch nicht per ACP löschen. Wenn ich diese versuche über das ACP zu löschen gibt es diese Warnung:
PHP Warning: Invalid argument supplied for foreach() in ...\admin\cps-module_delete_unused_files.php on line 72
Wie müsste dann dieser Bereich der bemängelten cps-module_delete_unused_files.php geändert werden?
- Code: Alles auswählen
if ($row['dont_cache'])
{
foreach (glob($phpbb_root_path.'cache/posts/*post_'.$row['post_id'].'.gz') as $file)
{
unlink($file);
$files++;
}
}
Bye