用CakePHP上传文件的最佳实践

用CakePHP上传文件的最佳实践,php,forms,cakephp,file-upload,cakephp-1.3,Php,Forms,Cakephp,File Upload,Cakephp 1.3,有谁能建议我用CakePHP编写上传文件代码的最佳方法吗 我需要上传一个文件并将其名称保存在表中 如果记录保存失败,则不应上载文件 如果上载失败,则应回滚记录 代码应该是可重用的 我需要在afterSavecallback中上传文件 查看编辑(2015)中的部分:请查看当前文件插件列表(2.x分支) 编辑(2013):这个答案现在有点过时了,所以我只留下一个所有提到的上传插件的列表: (2.0-分行) (2.0-分行) (1.3.x-仅限) (已弃用) 原始答复(自2010年起)

有谁能建议我用CakePHP编写上传文件代码的最佳方法吗

  • 我需要上传一个文件并将其名称保存在表中
  • 如果记录保存失败,则不应上载文件
  • 如果上载失败,则应回滚记录
  • 代码应该是可重用的
  • 我需要在
    afterSave
    callback中上传文件
查看编辑(2015)中的部分:请查看当前文件插件列表(2.x分支)


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

  • (2.0-分行)
  • (2.0-分行)
  • (1.3.x-仅限)
  • (已弃用)

原始答复(自2010年起):

你可以考虑使用最后一次会议上提到的那件事。它相当全面,包括创建文件变体(即图像或视频的缩略图)、输出不同类型文件的助手以及帮助更快创建多个文件上载表单的元素;从一开始我就非常关注安全问题。我在生产中使用它,并且发现它工作得很好,而且它似乎比我见过的其他选项要多(例如,关于这个主题的各种面包店/博客帖子)


我发现这个插件对我的案例很有帮助。

FYI,当你用PHP处理时,文件上传已经完成,文件在一个临时目录中。您只需将此文件模式设置为最终位置,并将相应的行插入数据库。(并处理可能出现的故障。)让我无耻地添加到列表中,这是我经过半天的研究和尝试实现后发现的最受支持的两个CakePHP 2.x库。何塞·迪亚兹·冈萨雷斯现在看来是个不错的选择。