在CakePHP中上传文件的最佳实践

RSK*_*RSK 10 php forms cakephp file-upload cakephp-1.3

任何人都可以建议我编写用于在CakePHP中上传文件的代码的最佳方法吗?

  • 我需要上传一个文件并将其名称保存在表格中.
  • 如果记录保存失败,则不应上载文件.
  • 如果上传失败,则应该回滚该记录.
  • 代码应该是可重用的
  • 我需要在afterSave回调中上传文件

dei*_*zel 16

编辑(2015):请参阅当前文件插件的Awesome CakePHP列表(此处为2.x分支)


编辑(2013):这个答案现在有点过时了,所以我将留下所有上述插件的列表:


原始答案(2010年起):

您可以考虑使用上一个CakeFest中讨论过的Media插件.它相当全面,包含诸如创建文件变体(即图像或视频的缩略图),用于输出不同类型文件的帮助程序以及帮助更快地创建多文件上载表单的元素等功能; 我可以从幻灯片中收集,从一开始就非常注重安全性.我在生产中使用它并发现它运行良好,而且它似乎比我见过的其他选项更积极的开发,如果这是任何事情(例如.MeioUpload行为,Uploader插件,FileUpload插件和各种Bakery/blog帖子话题).

  • Jose Diaz-Gonzalez的[上传插件2.0](https://github.com/josegonzalez/upload)现在看来是个不错的选择. (2认同)