我正在开发一个Web项目,它在不同的应用程序中分开(使用SSO为用户在所有应用程序上同时登录),用户可以在其中上传所有文件。文件上传和配额
问题是,每个应用都以自己的方式将文件上传到自己的位置,使服务器混乱并丢失了哪个文件所属的路径。
我想开发这个组件,以所有的应用程序,通过它上传和跟踪每个用户的配额,文件等
,我可以想出如何做这我自己,我想知道如果这样做有很好的做法。有什么文章可以阅读吗?有没有可用的系统? 另外,如果你想知道,我正在用PHP做。
我正在开发一个Web项目,它在不同的应用程序中分开(使用SSO为用户在所有应用程序上同时登录),用户可以在其中上传所有文件。文件上传和配额
问题是,每个应用都以自己的方式将文件上传到自己的位置,使服务器混乱并丢失了哪个文件所属的路径。
我想开发这个组件,以所有的应用程序,通过它上传和跟踪每个用户的配额,文件等
,我可以想出如何做这我自己,我想知道如果这样做有很好的做法。有什么文章可以阅读吗?有没有可用的系统? 另外,如果你想知道,我正在用PHP做。
你需要的第一件事就是开始:)因为这是编程毕竟是试验和错误。你可能会发现自己必须重新开始工作,但这是在工作描述中。
但我同意在开始之前有一个计划是非常有用的。我不知道任何教程都包含正确的做法和标准,但我会尽力给你一些提示。
<FilesMatch ".(htaccess|htpasswd|php|js|exe|bat)$"> // extentions to block
Order Allow,Deny
Deny from all
</FilesMatch>
您也可以考虑有一个白名单,而不是黑名单。
如果你有很多文件,你可以用散列表的形式创建一个文件夹结构。例如,您可以剥离非字母数字字符,并根据文件的第一个字母创建2级文件夹。
实施例:
test_image.png =>上传/ app_x /t/e/
test_image.png
another_img.png =>上传/ app_x /a/n/
test_image.png
您也可以使用此日期(如wordpress呢):
test_image.png =>上传/ app_x /2013/02/27/
test_image.png
another_img.png =>上传/ app_x /2013/02/26/
test_image。PNG
如果有用户上传的文件,你可能要为每个用户创建(上传/ app_y/user_x/his_file.pdf)的文件夹。
这将使查找服务器上的文件快得多。在开始之前考虑文件夹结构是件好事,考虑所有可能的文件类型是很好的。
当我回到家时,会继续这个清单,但这应该是一些值得思考的食物。
我会接受你的答案,因为它去了我的。但是,我们决定使用ownCloud为此:)谢谢您的回答 – 2013-03-07 09:41:38
谢谢。祝你的项目好运! – 2013-03-07 10:04:37
[你去!](http://www.php.net/manual/en/ref.filesystem.php) – Sammitch 2013-02-27 16:13:41