如何使用cakephp上载从控制器或视图中删除照片

如何使用cakephp上载从控制器或视图中删除照片,cakephp,cakephp-3.x,Cakephp,Cakephp 3.x,我遵循教程,一切顺利。但是,没有关于如何删除文件的文档 我想我必须创建一个控制器函数来实现这一点,但这就是我现在所能做到的 我计划有一个上传了个人资料照片的视图,并有一个删除按钮将其从视图中删除 是否有任何功能示例可以帮助我找到 编辑:一切正常!。。。除了将我的照片字段设置为空。我已经检查了->允许空白'照片','创建'和->允许空白'照片','更新'的验证程序。我的想法快用完了,但我要提出一个新问题,让事情井然有序。非常感谢 if ($this->request->is([

我遵循教程,一切顺利。但是,没有关于如何删除文件的文档

我想我必须创建一个控制器函数来实现这一点,但这就是我现在所能做到的

我计划有一个上传了个人资料照片的视图,并有一个删除按钮将其从视图中删除

是否有任何功能示例可以帮助我找到

编辑:一切正常!。。。除了将我的照片字段设置为空。我已经检查了->允许空白'照片','创建'和->允许空白'照片','更新'的验证程序。我的想法快用完了,但我要提出一个新问题,让事情井然有序。非常感谢

    if ($this->request->is(['patch', 'post', 'put'])) {
        $brigada = $this->Brigadas
                    ->findById($id)
                    ->firstOrFail();       
        $file = WWW_ROOT . 'files/Brigadas/photo' . $brigada->photo_dir . '/' . $brigada->photo;
        if(file_exists($file)) {
            unlink($file);
        }
        $brigada->dir = null;
        $brigada->photo = null;
        $this->Brigadas->save($brigada);
    }
您可以使用文件夹和


我认为你不需要一个插件来删除一个文件。 只需检查该文件是否存在,否则您将看到所有错误,并最终删除该文件。 例如,控制器中的以下代码:

if(file_exists(<your_url_img>)) {
  unlink(<your_url_img>);
}

删除函数只需取消用户实体中指定文件的链接,然后将照片字段设置为null并保存。它可以正常工作!不过,我现在不能将photo字段设置为null。
if(file_exists(<your_url_img>)) {
  unlink(<your_url_img>);
}