2017-06-09 5 views
1

私は必要なコードを手に入れましたが、今は私のサイトに実装しようとしています。エラーの問題のファイルが必要な場合のフォルダパスの問題

私のフォルダ構造は次のとおりです。ルートフォルダ 'modelawiki'は、XAMPP Localhost Server内の私の 'htdocs'フォルダ内にあります。私は私の 'htdocs'フォルダ内の他のフォルダに他のサイトを持っています。私のルートフォルダ(modelawiki)内の私のindex.phpファイルでhttp://imgur.com/a/vs0qt

、私は次のコードを使用して、私の「コア/ init.php」ファイルを必要としています:

require_once 'core/init.php'; 

うまく実行します。しかし、私は私の「管理」フォルダに移動し、実行しようとすると:

require_once '../core/init.php'; 

私は次のエラーを考え出すよ:

Warning: require_once(functions/sanitize.php): failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/modelawiki/core/init.php on line 31

Fatal error: require_once(): Failed opening required 'functions/sanitize.php' (include_path='.:/Applications/XAMPP/xamppfiles/lib/php') in /Applications/XAMPP/xamppfiles/htdocs/modelawiki/core/init.php on line 31

相続人は私の「コア/ init.php」のコードは:

// Auto Load Classes 
spl_autoload_register(function($class) { 
    require_once 'classes/' . $class . '.php'; 
}); 

// Load Functions 
require_once 'functions/sanitize.php'; 

はどのようにしてルートフォルダ内から読み込むことができるように私の「コア/ init.php」ファイルでこの問題を修正し、私のフォルダツリー内の任意の深いフォルダのでしょうか?また、これを私のNetwork Solutions FTPサーバーにアップロードしても、それが実行されることを確認する必要があります。

+0

ファイルcore/init.phpがある場所あなたのサーバー上で(完全なパス)? –

+0

/htdocs/modelawiki/core/init.php –

+0

あなたのプロジェクトのルートパスにその中にsanitize.phpというフォルダ機能がありますか? –

答えて

1

かわりに、絶対パスを使用することができますルートの

  1. GETディレクトリを自分のクラスローダに

    あなたはこのようなものがあるでしょう、そこからそう
    // if called in core/init.php 
    // the following will be the absolute path of whatever folder core is in 
    $rootdir = dirname(dirname(__FILE__)); 
    
  2. $rootdir = dirname(dirname(__FILE__)); 
    
    // Auto Load Classes 
    spl_autoload_register(function($class) { 
        require_once $rootdir . 'classes/' . $class . '.php'; 
    }); 
    
    // Load Functions 
    require_once $rootdir . 'functions/sanitize.php';  
    
+0

「/」を追加したい場合dirnameに追加されているかどうかわからない – user7984880

0

私は以下のようにinit.phpファイルを変更する必要があると思います。パスを正しく指定する必要があります。

require_once '../functions/sanitize.php';

関連する問題