0

我在我的网站上使用 phpFlickr 并且上传/删除工作正常,但是当我删除照片和/或从照片集中删除照片时,缓存(使用文件系统选项)滞后几分钟,仍然显示当时- 删除的图像。

如果我禁用缓存,它会按预期工作。执行删除时有什么方法可以手动清除缓存?

4

1 回答 1

1

从目录中删除特定 flickr 集和与该集关联的所有图像的解决方案/path/to/phpFlickrCache。您需要提供$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);
    }
}
于 2012-10-25T19:46:51.333 回答