我已经创建了一个PHP文件 url.php 并编写了这段代码 -
<?php
define("BASE_URL", "/geo15/" );
define("ROOT_PATH", $_SERVER['DOCUMENT_ROOT'] . "geo15/" );
?>
我在几个页面中包含了 url.php 文件,但是当我浏览这些文件时,收到以下错误消息:
警告:require_once(inc / url.php):无法打开流:没有这样的 第1行的C:\ wamp \ www \ geo15 \ inc \ header.php中的文件或目录
但是当我在浏览器的网址栏中粘贴路径 C:\ wamp \ www \ geo15 \ inc \ header.php 时,它会打开。
N.B。我正在使用WAMP服务器进行开发。
答案 0 :(得分:0)
我使用此代码(在Unix中):
include dirname(__FILE__).'/paht/relative/to/the/current/file/file_name.php';
它适用于所有情况。
在Windows中,您可以使用:
include dirname(__FILE__).'\paht\relative\to\the\current\file\file_name.php';
答案 1 :(得分:0)
DOCUMENT_ROOT会输出类似“c:/ wamp / www”的内容,因此您将丢失一个/那里。您当前的代码实际上会输出类似“c:/ wamp / wwwgeo15 /".
的内容此外,请确保'geo15 /'位于实际的www目录中,而不是别名。如果它是别名,那么你肯定会得到一个断开的链接。此外,您可能会发现以下内容:
目录名($ _ SERVER [ 'SCRIPT_FILENAME'])
目录名($ _ SERVER [ 'PHP_SELF'])
或者,如果您有许多子目录,您可能需要考虑使用“../”指出当前目录上方的目录。因此,如果您的脚本是“/my/path/to/current/runningscript.php”并且您要包含的文件位于“/include/this/file.php”中,那么包含它的正确方法是“include” ( '../../../../../包括/这个/ file.php');”
并且以“/”开头也会将您带到根目录或实际上,它可以指向当前别名的根目录或硬盘的根目录,而以无斜线开头将从正在运行的脚本的当前目录开始。如果您正在使用别名“/ myAliasDirectory /”在“include('/ file.php')中启动include with / like”,如果“file.php”位于“x:/file.php”中,则可以正常工作或“/myAliasDirectory/file.php”。所以是的,如果你这样做会让人感到困惑,所以我只会推荐它一半。