任何人都可以建议我编写用于在 CakePHP 中上传文件的代码的最佳方法吗?
- 我需要上传一个文件并将其名称保存在表中。
- 如果记录保存失败,则不应上传文件。
- 如果上传失败,则应回滚记录。
- 代码应该是可重用的
- 我需要在
afterSave
回调中上传文件
任何人都可以建议我编写用于在 CakePHP 中上传文件的代码的最佳方法吗?
afterSave
回调中上传文件编辑(2015):请查看当前文件插件的Awesome CakePHP列表(此处为 2.x 分支)
编辑(2013):这个答案现在有点过时了,所以我只留下所有提到的上传插件的列表:
原始答案(从 2010 年开始):
您可能会考虑使用在上次 CakeFest 中讨论过的媒体插件。它相当全面,包含创建文件变体(即图像或视频的缩略图)、用于输出不同类型文件的帮助器以及帮助更快地创建多文件上传表单的元素等功能;从幻灯片中我可以看出,从一开始我就非常关注安全性。我在生产中使用它并发现它运行良好,而且它似乎比我见过的其他选项更积极的开发(例如, MeioUpload 行为、上传器插件、文件上传插件和各种面包店/博客文章话题)。
查看Cookbook中的文件字段部分。
我发现这个https://github.com/srs81/CakePHP-AjaxMultiUpload插件对我的情况很有帮助。