使用mkdir上传文件/在webroot外部创建文件夹,并通过https连接上传

时间:2011-08-22 17:10:29

标签: php ssl permissions https fopen

我正在开发一个网络应用程序,允许注册用户将文件上传到webroot之外的文件夹。基本工作流程如下:

  • 用户注册ssl证书以保护他/她的信息
  • 在webroot外部创建一个具有777权限的文件夹,以便他/她可以将文件上传到该文件夹​​
  • 用户上传文件
  • 文件暂时存储在脚本的工作文件夹中,转换为文本文件,移动到webroot外部的用户文件夹中,然后删除临时文件。

看起来我甚至无法在webroot之外创建用户的目录,更不用说将文件上传到该目录了。我在ssl连接上使用mkdir。我启用了allow_url_fopenallow_url_include,但仍然没有运气。我很确定openssl已启用。有没有办法解决这个问题?

提前致谢, 季

1 个答案:

答案 0 :(得分:0)

除了将新用户目录创建为777之外,Web服务器用户必须可以写入创建新用户目录的Web根目录之外的目录。

假设以下结构:

root
  |->users
  |    |->new user1
  |    |->new user2
  |->www docroot

root/users上设置所有权以拥有Web服务器用户组并使其可写。这假设该目录已由root拥有,但如果它在托管服务上,则更改为现有所有者用户名。假设apache是Web服务器用户。

chown root:apache /root/users
chmod 770 /root/users