我正在尝试访问php上传程序,将上传的文件写入apache范围之外的文件夹。
c
代表Windows Server 2012的根目录apache文件夹:
/cygdrive/c/apache24 (c:\apache24)
php文件夹:
/cygdrive/c/php
上传者文件夹:
/cygdrive/c/apache24/htdocs/uploader
上传者指令:
define('RELATIVE_UPLOAD_DIR', '/cygdrive/c/Users/myusername');
define('UPLOAD_DIR', rtrim(dirname($_SERVER['SCRIPT_FILENAME']), '/') . '/' . RELATIVE_UPLOAD_DIR);
上传者会将文件上传到上传者的文件夹,但我正在尝试将文件上传到Windows Users
文件夹。
/cygdrive/c/Users/myusername
如何在php.ini中启用Users
文件夹和子树,以便上传者可以将文件写入其中?
答案 0 :(得分:4)
在* Nix环境中,您必须使目标目录可由apache进程所有者写入。如果你不知道那是什么,请查看httpd.conf文件。寻找两行,如:
用户_www 集团_www
该用户必须具有对任何目标目录的写访问权。我想在Windows中也是如此。
我必须承认不喜欢写入用户目录的想法。可能更好地重新考虑您正在尝试做的事情,并找到一种方法来保持用户安全和安全,同时让他们访问数据。