【问题标题】:How to navigate through folders/MAMP?如何浏览文件夹/MAMP?
【发布时间】:2015-06-05 05:06:42
【问题描述】:

这是一个非常简单的问题,我正在努力解决。

我正在设置一个 MAMP 服务器来测试我的代码,文档根目录是 C:/MAMP/htdocs 我在 htdocs 中设置了这样的文件夹:

htdocs -> var -> www -> html -> program ->(程序代码/程序索引)。

同时,我在 www 中还有另一个文件夹。 www -> 上传 -> (东西程序应该上传到文件夹)。

我在上传中创建了一个名为 luljokes.txt 的测试文件,然后使用此代码测试该文件是否存在

if (file_exists("/var/www/uploads/luljokes.txt")){
  echo " success !!!!!!!!";
}
else echo " failed ";

它总是返回失败。

所以我的问题是,如果文档根目录在 /htdocs/,为什么我不能通过 /var/www/uploads 访问该文档?我宁愿不更改我的文件夹结构,因为我正在更改另一个具有相同样式的项目。

提前致谢!

【问题讨论】:

  • PHP 不关心 Apache 的文档根设置。您的file_exists 电话正在寻找顶级目录。您需要从/MAMP/htdocs 开始(您可能还需要包含C:,但我不在Windows 上编码,所以我不确定)
  • 因为他使用的是 MAMP,所以他使用的是 Mac 而不是 Windows
  • 乍得,我实际上是在 Windows 上运行 MAMP。他们有一个版本! (我知道我应该运行 WAMP,但有人建议使用 MAMP,因为他们在他们的 Mac 上使用它)
  • @Cfreak - 抱歉,我没有意识到 MAMP 现在也适用于 Windows。这很有趣。
  • @Chad 我也会这么想的,只是没有向我注册。我看到了C:。不管怎样,这都是真的。 docroot 与 PHP 无关

标签: php directory mamp


【解决方案1】:

问题是路径 file_exists("/var/www/uploads/luljokes.txt") 是相对于您的文档根目录而不是您的文件系统。这应该更改为绝对文件系统路径。类似于:/Users/yourname/MAMP/...

【讨论】:

  • 因为他的路径以“/”开头,所以他的路径不是相对的,而是绝对的。他可能只需要获取文件的正确绝对路径。
  • 所以我尝试这样做:if (file_exists("C:/MAMP/htdocs/var/www/uploads/luljokes.txt")){ echo " success !!!!!!!!"; } else echo "failed"; 但它仍然显示失败。有什么建议吗?
  • @Chad 在 David 的示例中看起来像 var 在 htdocs 中,所以无论他是否打算这样做,David 尝试使用的路径都与 htdocs 相关。
  • @David 正斜杠不适用于 Windows 文件系统。如果您希望它在多个平台上运行,您可以尝试类似__DIR__ ."var".DIRECTORY_SEPARATOR."www".DIRECTORY_SEPARATOR."uploads".DIRECTORY_SEPARATOR."luljokes.txt"
  • @JesseKochis if (file_exists(__DIR__."var".DIRECTORY_SEPARATOR."uploads".DIRECTORY_SEPARATOR."luljokes.txt")){ echo " success !!!!!!!!"; } else echo "failed "; 也没有用:/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-21
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
  • 2011-12-22
相关资源
最近更新 更多