2011-09-17 7 views
0

require_once()またはinclude_once()を同じディレクトリに使用している間は問題はありません。しかし、私が以下のように使うと:Require_once()とinclude_once()が失敗する

私はPHPクラスページ名email.class.phpを持っています。

<?php 
require_once('../../configuration.php'); //The file is outside of directory. (root/system/class/) where the configuration.php file is not in the class directory but in root directory 
?> 

は、今私はemail.class.phpは、以下のように含まれている購読フォームを持っています。

<?php 
require_once('../class/email.class.php'); // Directory structure is like: (root/system/package/) // the formprocess.php is in the package folder. 
?> 

すべて正しいと思われます。しかし、私がフォームを処理しようとすると、致命的なエラー: require_onceは何かが示す必要な../../configuration.phpファイルを開くことができません。 次に、の代わりにURLを使用しようとしました。 '../..configuration.php'。しかし、私のホストはURLを開くことができません。問題はどこだ ?誰でも助けてください。私は単なる学習者です。

+0

は 'GETCWD()'と 'のrealpath()を参照してください' – chelmertz

答えて

1

は常にrequire_once(dirname(__FILE__) . '/../../configuration.php');

それともrequire_once(__DIR__ . '/../../configuration.php')のように完全なパスを使用する場合、PHPのバージョン> = 5.3

+0

私のPHPのバージョンは5.2 –

+0

だから、以前のものを使用しています。 – xdazz

+0

ありがとう、このソリューションは私のために完全に動作します。私は小さな質問がありますか? ** dirname(__ FILE __)。 '/ ** <---スラッシュ('/'の前に' ../ ')を使用した理由なぜあなたが '../../configuration.php'の '/../../configuration.php insted'を書いたのかを意味します。私はそれを知らない。 –

0

考えられる理由:あなたはあなたがその特定のディレクトリにアクセスするためにウェブサーバ許可いけない

  • ディレクトリパスが間違っています(スタイル:..現在の処理場所に応じてフォルダ内/フォルダ名用)

チェックの詳細に関する情報のためのヘルプは.. http://php.net/manual/en/function.require-once.php

関連する問題