我不明白这一点。它搞砸了整个网站,因为我使用的是 php 模板。
根据我读过的每一篇文章,据说以“/”开头的链接会让我从根开始。但是,当我以“/”开头时,它根本不起作用。
我的变量位于
public_html/cis130/textfiles/php/variables.php
我的 template.php 文件位于
public_html/cis130/textfiles/php/template.php
我的index.php 文件位于
public_html/cis130/index.php
在我的 index.php 文件中,它写道:
<?php
require('/cis130/textfiles/php/variables.php');
$currentpage = $page[0];
require('/cis130/textfiles/php/template.php');
?>
它不起作用...我收到“致命错误:require():无法打开所需的'/cis130/final/textfiles/php/variables.php'(include_path='.:/usr/local/php54/pear' )在 /home/philumpt/public_html/cis130/final/index.php 第 3 行”
如果我使用相对链接,
textfiles/php/file.php
然后它就可以工作,但仅适用于index.php。我的其他页面位于“public_html/cis130/textfiles/pages/”中。如果这很奇怪,那就是我班上的老师让我们做的。
只需使用基本路径集作为配置即可不必担心相对路径,这样您就不必不断地处理相对位置。例如,在主配置文件中,您可以定义如下基本路径:
$BASE_PATH = '/the/path/to/the/codebase/';
如果您不知道文件的基本路径,请将此行放在 PHP 代码的顶部:
echo "Your path is: " . realpath(dirname(__FILE__)) . "<br />";
并加载该页面。靠近顶部的地方应该有一行内容:
您的路径是:/the/path/to/the/codebase/
当然/the/path/to/the/codebase/
将是您的实际文件路径,但这将是您的基本路径。然后只需设置$BASE_PATH
到那个值。
然后当你做一个require
,语法为:
require($BASE_PATH . '/cis130/textfiles/php/variables.php');
这样做的好处是,无论您的代码库嵌套得有多深,您都将始终锚定于以下值:$BASE_PATH
。由于不必担心相对路径问题,您的生活将变得更加轻松。
我还建议使用require_once http://www.php.net/manual/en/function.require-once.php代替require http://www.php.net/manual/en/function.require.php以避免脚本可能无意中尝试多次加载同一文件的情况。
require_once($BASE_PATH . '/cis130/textfiles/php/variables.php');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)