我正在使用 Laravel 4(带有 Apache)来开发 Web 应用程序。我需要一些(技术)建议/解决方案来设计我的应用程序的一部分。
这是我这部分问题的背景:
在我的 Web 应用程序中,我需要存储不同用户上传的文件(图像或最大 150Mo 的视频)。用户可以与他选择的其他人共享他的一些文件。例如:“我上传了 image1.png,我想只与 Bob 和 Alice 共享它。如果我删除 image1.png,这个文件必须仍然可以被 Bob 和 Alice 访问,直到他们都不想要它不再(如果没有用户链接到此文件,则可能每天运行一批以将其删除)”。
问题:
- 为了管理上传的文件,我想允许用户上传一些文件而不阻止他。他必须能够在上传期间浏览我的 Web 应用程序的所有页面并查看它们的状态(例如,在进度条中)。我怎样才能做到这一点?PHP 脚本和 Ajax 就足够了吗?像 jQuery File Upload 这样的 Jquery 插件可以做到这一点吗?
- 目前,为了存储我的文件,我使用的是单个目录。此外,我使用 Mysql 数据库围绕文件管理构建逻辑(例如:“image1.png 已由我上传,它的 url 目前与 Alice 和 Bob 共享。他们可以下载它”)。目前,它工作正常。只有 Alice 和 Bob 可以看到我的文件。但我不知道这对于可以增长的应用程序(就文件和用户而言)来说是否是一种好方法。这是一个好的架构(单目录+数据库)吗?或者我必须为每个用户使用物理目录?
- 我可以就我的应用程序的性能和优化获得任何建议吗?
任何帮助将不胜感激。在此先感谢并为我的英语不好感到抱歉。