我有一个上传模型 - 包含用户上传的图片。
在 Controller 中,我调用:
$this->Upload->delete($id);
从数据库中删除记录就可以了,但我还想删除相应的图像文件。
我用不同的变量尝试了很多不同的东西……等,并找到了 this link对于类似的问题,但是 - 似乎没有任何效果 - 我什至无法通过任何这些尝试将其删除:
//at the bottom of my Upload model
function afterDelete() {
//NONE OF THESE WORK - is this even being called?
unlink('/img/uploads/rest_logo.jpg');
unlink('app/webroot/img/uploads/rest_logo.jpg');
unlink('/app/webroot/img/uploads/rest_logo.jpg');
unlink('img/uploads/rest_logo.jpg');
unlink(WWW_ROOT . 'img/uploads/rest_logo.jpg');
unlink(WWW_ROOT . '/img/uploads/rest_logo.jpg');
return true;
}
显然,我想将其更改为动态文件名,但就目前而言,在对我能想到的所有不同可能路径进行硬编码时,我什至无法删除文件。
有没有办法测试其中发生了什么?像 echo 或...任何东西?
非常感谢任何帮助或指导。
最佳答案
App::uses('File', 'Utility');
// new File(string $path, boolean $create = false, integer $mode = 493)
// $mode = 493 default
$file = new File(WWW_ROOT . 'img/uploads/rest_logo.jpg', false, 0777);
if($file->delete()) {
echo 'image deleted.....';
}
关于php - 在 afterDelete() 中删除文件 - CakePHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6199656/