为什么我的../在我的包含不起作用

时间:2017-02-03 11:13:54

标签: php centos

为什么我的../包含不起作用?

我想返回一个文件夹并输入一个新文件夹,但我收到此警告:

  

PHP警告:include(../ folder / Information.php):无法打开流:第1行/home/user/bin/Code/TOOLS/main.php中没有此类文件或目录   PHP警告:include():在/ home / user / bin /中打开'../folder/Information.php'以包含(include_path ='。:/ usr / share / pear:/ usr / share / php')失败第1行的Code / TOOLS / main.php

代码:

<?PHP include "../folder/Information.php"; ?>

文件夹结构:

home
-user
--bin
---Code
----TOOLS
-----main.php
----folder
-----Information.php

PHP v5.3及更高版本。 CentOS系统。

3 个答案:

答案 0 :(得分:2)

要使您的路径正常工作,您应该在include中包含完整路径。你可以通过使用常量来实现。

在早期的PHP版本中,您必须使用dirname(__FILE__)。在较新的版本中,您可以使用常量__DIR__

使用这两个版本,您将获得使用该常量的文件的绝对路径。该路径没有最后一个斜杠。所以你必须在常量之后添加它们。

<?php include dirname(__FILE__)."/../folder/Information.php"; ?>
<?php include __DIR__."/../folder/Information.php"; ?>

使用../,您可以将目录更高一级并返回路径。

答案 1 :(得分:0)

尝试包含 DIR 常量和/或斜杠&#34; /&#34;在&#34; ../"

之前
<?PHP include __DIR__."/../folder/Information.php"; ?>

答案 2 :(得分:0)

尝试以下代码段,我认为这可行。 .share()

相关问题