【发布时间】:2013-06-24 20:14:39
【问题描述】:
我有 FTP 用户,我已将其设置为 chroot 到服务器根目录之外的文件夹中 - 例如。用户:myuser 主目录:/sftp/myuser/incoming。我希望能够从 PHP 脚本访问他们 FTP 的文件,但不知道路径?是否可以在“Web 服务器”之外访问 PHP 中的文件。我在网上看到很多东西说您可以但无法弄清楚路径。在下面的代码中,我试图访问已发送到服务器的 csv 文件,但我认为路径是相对于 Web 服务器而不是文件系统的——
<?
$myFile = file_get_contents('/sftp/myuser/incoming/test.csv');
echo $myFile;
【问题讨论】:
-
如果您不知道路径,那么无论您使用什么文件,都无法引用该文件......他们的文件发送到网站的过程究竟如何?他们是通过网页上传的吗?他们是否通过 FTP 客户端将其上传到您的服务器?
-
您可以访问文件系统中任何位置的文件,前提是 PHP 脚本在那里具有权限。对于所有文件系统访问,您需要相对于文件系统根目录工作,而不是 Web 服务器根目录。您必须确定 ftp 文件夹的正确路径以及您自己拥有的权限 - 我们只能猜测。如果您使用 HTML 表单上传文件,您可以在 PHP 中完全控制文件的去向。
-
所以如果 root 拥有该文件夹,我将无法从脚本访问它?我在想我应该将他们的 ftp 目录更改为站点根目录内的内容吗?例如,如果我链接到 .jpg 文件并使用有效的 /img/my.jpg 的绝对路径,我不必输入 /etc/var/www...等
标签: php filesystems