2012-01-03 85 views
2

我已经看到了这一点: How to clear APC cache entries?APC清除目录条目

我有每个文件的这个工作:

$filename = '/home/testing_code/abc.php'; 
if (apc_compile_file($filename)) { 
    if (apc_delete_file($filename)) { 
     echo "Successfully deleted file $filename from APC cache.<br>", PHP_EOL; 
    } 
} 

不管我怎么玩它,我无法找到一个方法来清除基于一个目录,任何人都知道如何做到这一点?

即是这样的:

$filename = '/home/testing_code/*.php'; 
    if (apc_compile_file($filename)) { 
     if (apc_delete_file($filename)) { 
      echo "Successfully deleted file $filename from APC cache.<br>", PHP_EOL; 
     } 
    } 

回答

2

使用apc_cache_info获得高速缓存的文件列表。在符合您的掩码的任何文件上拨打apc_delete_file

您也可以使用APCIterator查找与您的遮罩相匹配的所有文件,然后将其删除。请注意,在删除前一个文件之前,您需要将迭代器移至下一个文件。或者使用迭代器创建所有匹配文件名的数组,然后从您自己的数组中删除它们。遍历它时修改集合是非常棘手的。

有没有这样做的单一电话。

+0

谢谢 - = apc_cache_info,工作完美。 – user1076412 2012-01-04 04:24:17