我不理解这一点。它搞砸了整个网站,因为我使用的是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');
?>
它不起作用......我得到&#34;致命错误:require():未能打开所需&#39; /cis130/final/textfiles/php/variables.php' (include_path =&#39;。:/ usr / local / php54 / pear&#39;)位于第3行和第34行的/home/philumpt/public_html/cis130/final/index.php;
如果我使用相对链接,
textfiles/php/file.php
然后它可以工作,但仅适用于index.php。我的其他页面位于&#39; public_html / cis130 / textfiles / pages /&#39;中。如果这很奇怪,那就是我班上的老师让我们做的事情。
答案 0 :(得分:0)
试试这个:
require($_SERVER['DOCUMENT_ROOT'].'/cis130/textfiles/php/variables.php');
$ _ SERVER [&#39; DOCUMENT_ROOT&#39;]是如何在php中指定根目录的。
答案 1 :(得分:0)
为什么不从index.php的位置开始?像这样:
<?php
require('textfiles/php/variables.php');
$currentpage = $page[0];
require('textfiles/php/template.php');
?>
对于其他页面使用:
<?php
require('../php/variables.php');
require('../php/template.php');
?>
答案 2 :(得分:0)
我认为解决此问题的最简单方法是设置include目录并将所有文件放入其中。
在你的php.ini文件中,找到这一行......
ini_set('include_path', '/usr/lib/pear');
...但是将'/ usr / lib / pear'与您希望保存文档的文件夹的路径交换。它可以位于根目录的上方或下方。
然后,将所有包含文件放在那里。无论你包含哪个目录级别,它都会在那个目录中查找它们,使包含文件易于编写。
或者,您可以在正在更新的燃料中设置文件夹路径。确保它位于任何包含include的php文件的顶部。所有的require()函数都会先查看。
<?php
set_include_path('/path/to/folder');
答案 3 :(得分:0)
通过仅使用基本路径设置为配置来停止担心相对路径,这样您就不会经常处理相对位置。例如,在主配置文件中,您可以定义如下基本路径:
$BASE_PATH = '/the/path/to/the/codebase/';
如果您不知道文件的基本路径,请将此行放在PHP代码的顶部:
echo "Your path is: " . realpath(dirname(__FILE__)) . "<br />";
然后加载该页面。靠近顶部的某处应该是一行:
您的路径是:/ / path / to / the / codebase /
当然/the/path/to/the/codebase/
将是您的实际文件路径,但这将是您的基本路径。然后只需将$BASE_PATH
设置为该值。
然后当你执行require
时,语法为:
require($BASE_PATH . '/cis130/textfiles/php/variables.php');
这样做的好处是,无论您的代码库嵌套多深,您都将始终固定在$BASE_PATH
的值上。由于不必担心相对路径问题,您的生活将变得更轻松。
我还建议使用require_once
而不是require
来避免脚本可能无意中尝试多次加载同一文件的情况。
require_once($BASE_PATH . '/cis130/textfiles/php/variables.php');
答案 4 :(得分:0)
在linux中,以&#39; /&#39;开头的URI是完整的路径。示例'/run/shm/'
,因为/
就像在Windows中说C:
。
如果您的PHP文件位于'dir/something.php'
的父目录中,则写dir
应该有效。
此外,您可以使用__DIR__
来引用当前目录。
示例:$file = __DIR__.'filename.php'
http://www.php.net/manual/en/language.constants.predefined.php
以'/'
开头的网址是网站根目录的亲戚,但仅限于客户端,html。例如,您可以链接一些内容:<a href="/contact">Contact us</a>