我在我的网站上使用phpFlickr,上传/删除工作正常,但当我删除一张照片和/或从照片集中删除一张照片时,缓存(使用文件系统选项)会滞后几分钟,仍然显示当时删除的图像。
如果我禁用缓存,它会按预期工作。有没有办法在执行删除操作时手动清除缓存?
发布于 2012-10-26 03:46:51
从/path/to/phpFlickrCache目录中删除特定flickr集以及与该集关联的所有图像的解决方案。您需要提供$flickr_photoset_id和文件系统路径。所有其他集合及其图像将保留在缓存中。
$flickrset = exec("grep -l '" . $flickr_photoset_id . "' /path/to/phpFlickrCache/*.cache");
if ($f = fopen($flickrset, "r")) {
$s = fgets($f, 24000);
fclose($f);
unlink($flickrset);
preg_match_all("/\"id\";s:10:\"(\d+)\";/", $s, $images);
// $images[1] contains matched images from (\d+)
foreach ($images[1] as $img) {
$i = exec("grep -l '" . $img . "' /path/to/phpFlickrCache/*.cache");
unlink($i);
}
}https://stackoverflow.com/questions/9765563
复制相似问题