2012-03-19 3 views
0

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

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

ответ

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); 
    } 
}