2

私は次のようなファイル構造を持っています:

>project
 >admin
 >classes
  >class_main.php
 >templates
  >foot.php

class_main.php内で、クラスの__destruct関数内のrequire_onceユーザーの場所(つまり、ユーザーがadminディレクトリにいる場合)に応じて、同じファイルを要求するためrequire_once "../templates/foot.php"に使用しようとしています。require_once "./templates/foot.php"

私の問題は、何を試しても、常に同じエラーが発生することです。

警告:require_once(C:\ wamp \ www \ project \ classes / templates / foot.php)[function.require-once]:ストリームを開くことができませんでした:C:\ wamp \ www \ project\classesにそのようなファイルまたはディレクトリはありません22行目の\class_main.php

私が試してみました:

  • require_onceを関数として使用する
  • を使用dirname(__FILE__)して__DIR__
  • \の代わり\\/

これどうやってするの?

現時点での__destruct関数の完全なコードは次のとおりです。

    function __destruct()
    {
        if($this->admtrim($_SERVER['PHP_SELF']) == 'admin')
        {
            require_once "../templates/foot.php";
        }
        else
        {
            require_once './templates/foot.php';
        }
    }

明確にするために、このスクリプトはにC:\wamp\www\project\classes\class_main.phpあり、含めようとしているファイルはにありますC:\wamp\www\project\templates\foot.php

4

2 に答える 2

0
C:\wamp\www\project\classes/templates/foot.php

これは自明である必要があります。1つのリンクで前後のスラッシュを確認してください。これは

C:\wamp\www\project\classes\templates\foot.php

Windows形式でバックスラッシュを試してください

編集:

あなたが言ったように、ファイルは次の場所にありC:\wamp\www\project\templates\foot.phpます。完全なパスを提供してみませんか

require_once("C:\wamp\www\project\templates\foot.php");
于 2013-03-05T06:51:32.823 に答える
0

テンプレートフォルダーは、 classesフォルダーの外にあります。しかし、エラーが表示され、クラスフォルダー内を検索します。

C:\wamp\www\project\classes/templates/foot.php

正しく含めてください。

于 2013-03-05T06:53:52.317 に答える