7

私はこのエラーが非常に一般的であることを知っています、私はグーグルを検索しようとしました、私は無駄にトリックをしました。だから私のセットアップは、私は3つのディレクトリを持っています:

クラス->定数ページ
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 に答える