Кэш phpFlickr не обновляется при удалении фотографии - PullRequest
0 голосов
/ 19 марта 2012

Я использую phpFlickr на своем веб-сайте, и загрузка / удаление работает нормально, но когда я удаляю фотографию и / или удаляю фотографию из фотосета, кэш (с использованием опции файловой системы) отстает на несколько минут и до сих порпоказывает удаленное изображение.

Если я отключаю кеш, он работает как положено.Есть ли способ вручную очистить кеш при удалении?

1 Ответ

1 голос
/ 25 октября 2012

Решение для удаления определенного набора 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);
    }
}
...