2012-03-19 22 views
0

私のウェブサイトでphpFlickrを使用していて、アップロード/削除はうまくいきますが、ファイルセットを使用して写真を削除したり、 )は数分遅れて、削除された画像を表示します。写真が削除されたときにphpFlickrキャッシュが更新されない

キャッシュを無効にすると、正常に動作します。削除を実行するときにキャッシュを手動で削除する方法はありますか?

答えて

1

/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); 
    } 
} 
関連する問題