2015-11-04 55 views
0

我一直在一个小网站上工作,以处理我的PHP技能。我有一个名为Templates的子文件夹中的导航。现在基本上,导航将被包含在每个页面上,并随着它connect.php。现在的问题是,如果它进入另一个子文件夹,那么它将无法找到connect.php文件。我已经安装了APP目录,并且正在处理样式表和所有样式表。在网站目录中包含文件 - 使导航始终包含connect.php,无论子目录如何

但是我不确定我会怎么做include,我从StackOverflow的链接href的另一个问题得到的想法/代码,并且它说include (APP_DIR .'connect.php')然而,这似乎并不适用于我,它带来了一个错误“警告:包括(APP_ROOT/connect.php):未能打开流:没有这样的文件或目录在C:\ xampp \ htdocs \ ytsite \ templates \ navigation.php在线2 ”

任何关于如何正确包含文件的帮助,无论它在哪里,它都包括连接将非常感谢。

感谢, 本

+0

你有没有定义APP_DIR? ..见'定义'.. http://php.net/manual/en/function.define.php – Daniel

+0

如果一个常量ist没有定义PHP将它视为一个字符串。你也表示你想'APP_DIR',但是错误信息指出'APP_ROOT' – pmayer

+0

哦,对不起。我输入错了。我把它作为APP_ROOT。也是的,我已经定义了它@Daniel 'define('APP_ROOT','http:// localhost/ytsite');' – BenJ30

回答

0

你常数应该是一个目录路径,而不是URL。尝试这个与你的恒定定义..

define('APP_ROOT', $_SERVER['DOCUMENT_ROOT'] . '/ytsite'); 

echo APP_ROOT; //to test 

未测试。注意你不要双斜杠,并确保路径到正确的目录。 还要确保在添加'connect.php'时添加一个斜线。将其包含在常量定义中,或将其添加到包含行中。

include (APP_ROOT .'/connect.php'); 

编辑

所以包括你的连接文件是这样的:

做一个主文件,包括到您的网页,并添加这些行。

<?php 
    define('APP_ROOT', $_SERVER['DOCUMENT_ROOT'] . '/ytsite'); 
    include (APP_ROOT .'/connect.php'); 
?> 

每次启动新页面时,都需要重新创建常量。

+0

我改变了我的包括和所有与你的一样。我回应了connect.php上的APP_ROOT,然后去了ytsite/connect.php并正确显示。不过,我仍然在我的index.php上遇到同样的问题,它有以下错误。警告:include(APP_ROOT/connect.php):未能打开流:未使用未定义的常量APP_ROOT - 在第2行的C:\ xampp \ htdocs \ ytsite \ templates \ navigation.php中假定为'APP_ROOT' :没有这样的文件或目录 - “另外一个包含(include_path ='; C:\ xampp \ php \ PEAR')”由于字符限制,我无法填充完整的错误。 – BenJ30

+0

PHP不知道你的常数。你需要在每个文件中包含你的常量定义。您可以将它放在包含...上面的代码中。 – Daniel