You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CakePHP4中如何通过Admad cakephp-glide插件删除Glide图片缓存

解决方法

cakephp-glide插件在启动时已经将Glide Server实例注册到了CakePHP的全局依赖注入容器中,你可以直接通过容器获取实例,不需要额外自定义实例化逻辑。

修改你的bootstrap.php中事件监听的代码如下:

//in bootstrap.php
EventManager::instance()
    ->on(
        'FileManager.Fichiers.afterDelete',
        function (Event $event) {
            // 从全局容器获取Glide Server实例
            $server = \Cake\Core\Container::getInstance()->get(League\Glide\Server::class);
            
            $filename = $event->getData('file')->filename;
            // 注意:如果你的Glide源路径和$filename有前缀差异,需要调整此处传入的路径参数
            $server->deleteCache($filename);
        }
    );

补充说明

  • 如果你配置了多套Glide服务(多源图片),可以通过对应的服务标识从容器中获取对应实例,默认单实例场景下直接获取League\Glide\Server即可。
  • deleteCache方法会删除该原始图片对应的所有尺寸裁剪/处理后的缓存文件,符合需求。

内容的提问来源于stack exchange,提问作者Oliv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:06:08