如何提供一个文件夹来从 Web 应用程序写入和下载临时文件?
How can I provide a folder to write and download temp files from web application?
这个问题来自于我对服务器端 web 开发的不了解,但我会尽量把它说清楚,以免在我的服务器配置中出现任何错误。
我有一个网络应用程序,在按下下载按钮时应该触发一个 php,它会依次将文件写入目录并让单击的用户下载该文件。
该目录将存放临时文件,应定期清除。
所以我的疑惑是:
- 哪里是存放这些临时文件的好地方(在
/var/www/<my_app>/tmp
?)
- 我应该授予 apache2 用户 (
www-data
) 对该文件夹的读写权限吗?
- 我还有什么遗漏吗?
EDIT1
刚刚看到 php passthruw 命令。这对于压缩文件是否足够并且让我避免考虑 tmp 文件夹和权限?
1) 可以在任何你想要的地方创建临时文件夹。
2) 当您有一个 php 脚本并且用户单击前端应用程序中的某个按钮并触发该 php 脚本到 运行 时,该 php 脚本代表 apache2 用户执行,而 apache2 用户又是 'other - world permission'。 (有用户、组和其他)。所以你应该授予其他人写入权限,以便 apache2 用户(www-data)写入该目录。
这样你就不能通过 ftp 或 sftp 或其他方式上传文件,因为使用 ftp ,你的用户将不是 www-data。记住你做了什么。你只给了 www-data 的写权限。
为了更好地理解这个概念,我建议您阅读以下 link 和答案。
这个问题来自于我对服务器端 web 开发的不了解,但我会尽量把它说清楚,以免在我的服务器配置中出现任何错误。
我有一个网络应用程序,在按下下载按钮时应该触发一个 php,它会依次将文件写入目录并让单击的用户下载该文件。
该目录将存放临时文件,应定期清除。
所以我的疑惑是:
- 哪里是存放这些临时文件的好地方(在
/var/www/<my_app>/tmp
?) - 我应该授予 apache2 用户 (
www-data
) 对该文件夹的读写权限吗? - 我还有什么遗漏吗?
EDIT1
刚刚看到 php passthruw 命令。这对于压缩文件是否足够并且让我避免考虑 tmp 文件夹和权限?
1) 可以在任何你想要的地方创建临时文件夹。
2) 当您有一个 php 脚本并且用户单击前端应用程序中的某个按钮并触发该 php 脚本到 运行 时,该 php 脚本代表 apache2 用户执行,而 apache2 用户又是 'other - world permission'。 (有用户、组和其他)。所以你应该授予其他人写入权限,以便 apache2 用户(www-data)写入该目录。
这样你就不能通过 ftp 或 sftp 或其他方式上传文件,因为使用 ftp ,你的用户将不是 www-data。记住你做了什么。你只给了 www-data 的写权限。
为了更好地理解这个概念,我建议您阅读以下 link 和答案。