【发布时间】:2013-04-18 03:59:40
【问题描述】:
我正在使用 IWI 扩展在 yii 框架中显示时缓存图像。它工作正常,但问题是当我更新图像时,过去的缓存文件和文件夹存在。请帮我在更新图像后删除那些过去的缓存文件夹。
编辑:
$img = $image_name[0]['image_name'];
$p = 'images/'.$img;
$newpath = Yii::app()->iwi->load($p)->resize(100,300,Image::AUTO)->cache();
$newpath = explode('=',$newpath); ?>
Image : <br/><br/>
<?php echo CHtml::image($newpath[1],"image"); ?>
<div class="row">
<?php echo $form->labelEx($model, 'image'); ?>
<?php echo $form->fileField($model, 'image'); ?>
<?php echo $form->error($model, 'image'); ?>
</div>
当我更新特定图片时。假设我正在更新一张表中 id 为 1 的图片。新图片正在使用新的缓存文件夹进行更新,并且存在以前的缓存文件夹。
【问题讨论】:
-
能举个代码例子吗?
-
$img = $image_name[0]['image_name']; $p = '图像/'.$img; $newpath = Yii::app()->iwi->load($p)->resize(100,300,Image::AUTO)->cache(); $newpath = explode('=',$newpath); ?> 图片:labelEx($model, 'image'); ?> fileField($model, 'image'); ?> error($model, 'image'); ?>当我更新特定图片时。假设我正在更新一张表中 id 为 1 的图片。新图片正在使用新的缓存文件夹进行更新,并且之前的缓存文件夹存在。
-
我不确定我是否理解。预期的行为是什么?你是说它使用过去的缓存而不是新的图像?
-
没有。当我更新特定图像时,前一个图像的前一个缓存文件夹保留在服务器上。我想在更新特定图像时删除前一个图像的前一个缓存文件夹。
-
在下面查看我的答案。不幸的是,默认情况下你想要做的事情是不可能的,因为用于命名文件/文件夹的哈希使用时间元素(这意味着它可以是任何东西,所以如果没有你覆盖的原始文件,你将无法再次找到它)
标签: php yii yii-extensions