我正在遵循cakephp-upload教程,一切正常。但是,没有有关如何删除文件except for this, which doesn't really help me out.
的文档我想我必须创建一个控制器函数才能做到这一点,但这已经足够了。
我打算在视图中上传个人资料照片,并使用删除按钮将其从视图中删除。
有没有可以帮助我找到功能的例子?
编辑:一切正常!...除了将我的photo
字段设置为null外。我已经检查了->allowEmpty('photo', 'create')
和->allowEmpty('photo', 'update')
的验证器。我的想法不多了,但我会提出一个新问题以使事情井然有序。非常感谢!
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);
}
答案 0 :(得分:1)
我认为您不需要插件即可删除文件。 只需检查文件是否存在,否则您将看到所有错误,最后删除该文件。 例如,以下代码(在您的控制器中):
if(file_exists(<your_url_img>)) {
unlink(<your_url_img>);
}
答案 1 :(得分:0)
您可以使用Folder和File utilities
$file = new File(WWW_ROOT.'/img/'.$user->image);
$file->delete();