7

我知道这个错误很常见,我试过搜索谷歌,我做了这些技巧无济于事。所以我的设置是,我有 3 个目录:

CLASSES ->constants
PAGES
INITCONTROLS

编辑: 我有新错误:

*警告:require_once(initcontrols/config.php) [function.require-once]:打开流失败:没有这样的文件或目录*

下面是我的代码片段:

require_once("initcontrols/config.php");

<div>
<?php 
$file = "initcontrols/header_myworks.php"; 
include_once($file); 
echo $plHeader;?>   
</div>

这里还缺少什么?感谢您提前提供的所有帮助。

4

4 回答 4

13

如果当前文件位于initcontrols所在的同一目录中,这应该可以工作:

<?php
$ds = DIRECTORY_SEPARATOR;
$base_dir = realpath(dirname(__FILE__)  . $ds . '..') . $ds;
require_once("{$base_dir}initcontrols{$ds}config.php");
?>
<div>
<?php 
$file = "{$base_dir}initcontrols{$ds}header_myworks.php"; 
include_once($file); 
echo $plHeader;?>   
</div>
于 2012-12-10T11:38:08.453 回答
3

包含路径是针对服务器配置(PHP.ini)设置的,但您指定的包含路径是相对于该路径的,因此在您的情况下,包含路径是(Windows 中的实际路径):

C:\xampp\php\PEAR\initcontrols\header_myworks.php

提供您在主题中粘贴的路径是正确的。确保您的文件位于那里。

有关更多信息,您可以以编程方式获取设置包含路径。

于 2012-12-10T11:11:29.557 回答
1

这是因为您使用相对路径。

解决此问题的简单方法是使用__DIR__魔法常数,例如:

require_once(__DIR__."/initcontrols/config.php");

来自 PHP 文档:

文件的目录。如果在包含中使用,则返回包含文件的目录

于 2018-02-22T22:26:58.407 回答
0

放入 config.php 这个

$config['rewrite_short_tags'] = FALSE;
于 2015-05-04T01:04:47.803 回答