PHP的绝对路径包括

时间:2008-12-20 00:07:12

标签: php include

好的,我周五在工作中设置一个表格,其中包含一个名为values.php的单独文件。当我这样写时,div会变成空白。我认为我的“包含”写错了,绝对路径不起作用吗?

<?php include('http://www.nextadvisor.com/credit_report_services/values.php'); ?>

<div class="box_text">
                        <div class="box_image">
                         <a href="<?php echo $offer1link ?>" target="blank"><img src="<?php echo $offer1logo ?>" alt="<?php echo $offer1name ?>"></a></div>
                      <div class="box_rating">
                            Rating:<span class="star_rating"><img src="<?php echo $offer1star1 ?>" alt=""></span><br>
                          <div class="rating_review"><a href="<?php echo $offer1link ?>" target="blank">Go to Site</a> | <a href="<?php echo $offer1anchor ?>">Review</a></div>                         </div>


                        <br style="clear: both;">
                      </div>

哦,并提前感谢您提供的任何帮助。任何帮助过我的人都是最棒的。我感觉很糟糕,因为有时两个人回答这个问题,我不能给两个人都做绿色检查。

3 个答案:

答案 0 :(得分:3)

由于您正在使用URL,因此PHP将向服务器发送请求以获取该文件,并且服务器将像浏览器请求它一样解析它。您可能想要做的是使用相对于包含脚本的路径。如果要包含的文件位于同一文件夹中,请使用
include('values.php');

答案 1 :(得分:2)

默认情况下会阻止您尝试执行的包含类型,而不是说它很危险。您正在尝试包含远程文件。

如果您的脚本与“values.php”在同一台机器上,则应使用类似于“/var/www/nextadvisor.com/credit_report_services/values.php”的绝对路径或相对路径,具体取决于位置您的文件,而不是http://www.nextadvisor.com/credit_report_services/values.php

在我看来,您并不想尝试包含远程文件,但如果您仍想要包含远程文件,则必须在php.ini中设置以下指令

allow_url_fopen = 1
allow_url_include = 1

答案 2 :(得分:1)

绝对文件名类似于/path/to/file.php,因为您可以从文件系统层次结构中的任何位置访问该文件。

如果它位于相同的目录中,或者相对于同一个目录,则可以使用类似

的内容
include dirname(__FILE__) . '/file.php';
include realpath(dirname(__FILE__) . '/../dir') . '/file.php';
include realpath(dirname(__FILE__) . '/../dir/file.php');

你应该做一些像

这样的常量
define('BASEDIR', dirname(__FILE__));
define('LIBDIR', BASEDIR . '/lib');