在PHP中使用include函数

时间:2018-04-03 13:24:58

标签: php html web

所以,我正在开发电子商务风格的网站,我拥有一个主机/域名。根据我的理解,我应该将我的PHP文件放在除public_html之外的其他位置(出于安全目的),index.html的位置在/ home / user / public_html中。我想把我的PHP文件放在php文件夹中。我尝试过使用:

include("home/user/php/file.php") 要么 include("../php/file.php")

我已经在ini文件中启用了这些命令的使用,我也尝试设置文件夹的权限(读/写/执行)。一件有用的事情是设置一个子域名为" root& #34;文件夹到php文件夹,但我想这打败了服务器上其他地方的文件的目的,特别是因为我正在使用一个对象来放置我的PHP像这样:

<object class="php-script" data="database.php"></object>

在我的java脚本下,我把:

<?php
    include("/home/user/php/database.php");
?>

先谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

试试以下代码。看看它输出了什么。基本上你需要使用:$ _SERVER ['DOCUMENT_ROOT']导航到文件而不是自己输入路径。

//to get site url 
echo $site_url = "http://" . $_SERVER['SERVER_NAME'] . dirname($_SERVER['PHP_SELF']); 

//to the folder
echo $dir = $_SERVER['DOCUMENT_ROOT'].'/user/php/';

if (file_exists($dir) == false) {
echo  "Directory $dir not found!";
} else {
echo "directory found and we are ready to proceed.";
}

让我知道你的回答,我会进一步帮助你。

答案 1 :(得分:0)

通常使用includerequire的相对路径意味着使用相对路径,从您第一个调用URL调用脚本的目录开始。

示例:

application
    src
        database.php
        somescript.php
    public (document root)
        index.php
        news.php

http://example.com/index.php

公开/ index.php的

<?php
include '../src/database.php'

这应该很容易理解。

http://example.com/news.php

公开/ news.php

<?php
include '../src/somescript.php';

<强>的src / somescript.php

<?php
include '../src/database.php';

所以请注意somescript.php中的包含。它位于src文件夹中并不重要。像include 'database.php'这样的包含会失败,因为它是news.php的重要路径。

编辑(2018-04-04)

我忘了提。请考虑使用require() / require_once()代替include() / include_once()

Difference between require, include, require_once and include_once?