如何提供一个文件夹来从Web应用程序写入和下载临时文件?

时间:2018-12-16 14:13:46

标签: php apache file-permissions temporary-files ubuntu-18.04

这个问题来自我对服务器端Web开发的了解,但是我会尽力弄清楚,以免在服务器配置中出现任何错误。

我有一个Web应用程序,在按下“下载”按钮时应触发一个php,该php随后会将文件写入目录,并让单击的用户下载该文件。

此目录将存储临时文件,应定期清除。

所以我的疑问是:

  1. 在哪里存储这些临时文件的好地方(在/var/www/<my_app>/tmp中?)
  2. 是否应授予apache2用户(www-data)对此文件夹的读写权限?
  3. 我还想念其他东西吗?

EDIT1

刚刚看到了php passthruw命令。这样就足够了压缩文件,让我避免考虑tmp文件夹和权限吗?

1 个答案:

答案 0 :(得分:3)

1)可以在任何位置创建临时文件夹。

2)当您拥有一个php脚本并且用户单击前端应用程序中的某个按钮并触发该php脚本运行时,该php脚本将代表apache2用户执行,而apache2用户又是“其他-世界权限” 。 (有用户,组和其他人)。因此,您应该授予其他写权限,以便apache2用户(www-data)可以写入该目录。

这样,您将无法通过ftp或sftp或其他任何方式上传文件,因为使用ftp时,您的用户将不会是www-data。并记得你做了什么。您只授予www-data的写入权限。

为了更好地理解这个概念,我建议您也阅读以下链接和答案。 File permissions for Laravel 5 (and others)