【问题标题】:Help with windows path - PHPWindows路径帮助 - PHP
【发布时间】:2010-02-25 14:12:51
【问题描述】:

我有这个路径,它是正确的,但是浏览器不会包含源文件,除非我在它前面加上“file:///”。我仍在开发中,最终将在 Linux 机器上进行,但与此同时,我希望看到我的工作并能够对其进行故障排除。有解决办法吗?

这失败了:

C:\Program Files (x86)\work\site\js\rowlock.js

这不会失败:

file:///C:\Program Files (x86)\work\site\js\rowlock.js

【问题讨论】:

  • 你能说出你发出的具体命令吗?

标签: php


【解决方案1】:

尝试使用变量 $_SERVER['DOCUMENT_ROOT'] 使您的脚本独立。例如:

include($_SERVER['DOCUMENT_ROOT'].'/js/rowlock.js');

在任何系统上都能正常工作

【讨论】:

  • 这是我认为我将不得不使用的东西。谢谢。
  • @Silver Light,$_SERVER['DOCUMENT_ROOT'] 在 Windows IIS & CGI & Apache VirtualHost 上不起作用!
【解决方案2】:

如果您要将它移动到 linux 机器上,请在任何地方使用正斜杠。 php for windows 可以理解。

$file='c:/Program Files (x86)/work/site/js/rowlock.js';

【讨论】:

  • Rockjock,我目前正在使用正斜杠,但文件仍然无法加载。通过将“file://”放在“C:\” 前面,我可以让文件加载操作系统的唯一方法
  • 对,但是现在在winbox上调试,所以我们需要隔离问题
【解决方案3】:

在路径周围加上引号。您有空格,因此无法正确读取。

'C:\Program Files (x86)\work\site\js\rowlock.js'

【讨论】:

  • 谢谢安迪。我已经尝试过并在浏览器中获取“非法网址”。
【解决方案4】:

您的根文件夹在哪里?

如果它 C:\Program Files (x86)\work\site\

然后像这样简单地访问你的文件

js/rowlock.js

这里假设 js 在 Root 文件夹中

【讨论】:

  • 我希望使用绝对路径,这样如果我想更改目录结构,也没什么大不了的。