Web サイトで phpFlickr を使用しており、アップロード/削除は正常に機能しますが、写真を削除したり、フォトセットから写真を削除したりすると (ファイル システム オプションを使用して) キャッシュが数分遅れて、まだ表示されます。 -削除された画像。
キャッシュを無効にすると、期待どおりに機能します。削除の実行時に手動でキャッシュを消去する方法はありますか?
/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);
}
}