我想将上传内容保存在每个app_id的特定文件夹中。例如,当app_id为45的申请人上传文件时,必须将其保存在名为45的文件夹中,而所有他/她上传的内容,如出生证明,大学证书,个人资料图片和高中证书都将在该文件夹中,与其他app_id例如89必须有他/她自己的文件夹,但所有上传的文件都将位于一个父文件夹中,例如webroot / files / uploads /....
我设法实现了Miles Johnson的Uploader v3.6,所以对该插件或任何其他解决方案的任何帮助
解决此挑战的任何教程或链接
谢谢
答案 0 :(得分:2)
您的想法中一个巨大的安全失败是将高中证书存储在public(!)accessible / webroot / files / uploads文件夹中。如果每个人都可以从您的服务器下载这些原始文档,那么您可以确保在许多拥有隐私法的国家/地区陷入非常不愉快的境地。
使用增量ID将文件存储在文件夹1,2,3 ...中也是一个糟糕的主观表现:阅读this article的“文件系统性能”部分。
如果要在删除用户时在一个操作中删除所有文件,那么将所有附加到用户的文件存储在同一文件夹中可能是个好主意,但您不应忘记正确清理文件名。但是又一次:如果你在同一个(子)文件夹中存储了数千个文件,你可能会再次遇到问题。
对于CakePHP 2.x的文件存储解决方案,我建议您阅读我的FileStorage plugin的readme.md,它涵盖几乎所有常见问题,并为您提供文件存储的坚实基础。