allow_url_fopen和allow_url_include与PHP需要链接

时间:2014-02-22 15:26:27

标签: php html

我有一个网站,在我拥有的所有其他页面上都需要某个页面。我的问题是我不能使用require来使用此页面,因为链接网址会发生变化,请以此Senario为例: 的header.php:

<?php
  require('include/database.php');
?>

然后我在文件夹中找到了一个文件:woods / tree.php

如果我想从我的索引文件连接到数据库,没有问题,但如果我想从tree.php连接到它,那么url将不再是header.php上的正确。这让我有一个问题。我尝试使用整个网址来解决这个问题:

<?php
   require('http//www.example.com/include/database.php');
?>

我现在的问题是,由于allow_url_fopen和allow_url_include存在安全问题,我无法做到这一点。我需要找到另一种链接到该页面的方法,因为我不想启用任何php.ini设置,因为它不安全。

我是否有另一种方法要求数据库,以便所有文件夹中的所有文件都可以访问它?提前谢谢。

2 个答案:

答案 0 :(得分:1)

尝试使用绝对路径,如:

require $_SERVER['DOCUMENT_ROOT'] . '/include/database.php';

答案 1 :(得分:0)

您遇到的问题是没有问题。如果我理解正确,你就有了这个示例布局。

|
|-header.php
|-include/
| `-database.php
 `woods/
  `-tree.php

的header.php:

include("include/database.php");

tree.php:

include("../header.php");

这将有效,因为include始终使用包含它的文件中的路径。因此tree.php将包含../header.php,其中包含include/database.php。这一切都很有效。