php - 在 afterDelete() 中删除文件 - CakePHP

标签 php file cakephp delete-file

我有一个上传模型 - 包含用户上传的图片。

在 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.....';
}

Detail about File Utility

关于php - 在 afterDelete() 中删除文件 - CakePHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6199656/

相关文章:

php - 文件太大我无法输入我的 php 程序

html - 使用 PJAX 更改页面标题?

php - 我可以在 Laravel 模型中拥有一个将多个 MySQL 列组合成一个数组的字段吗

php - 从表中删除包含主键的行

php - 如何使用 php 代码在 ejabberd 上注册用户

php - 避免在 cakephp 中与两个不同域进行 session 匹配?

mysql - CakePHP 查找 - 按字符串到整数排序?

php - 即使 mysql 服务器正在运行,也无法建立与 mysql 数据库的 php 连接

java - 列出 Android 设备上的所有一种文件类型?

file - 在 WSL 中运行 shell 脚本时出现 "E: Invalid operation update"错误