1

私はcodeigniter(およびphp全般)が初めてで、チュートリアルに従って学習しています。このリンクをたどる: https://www.codeigniter.com/user_guide/tutorial/static_pages.html

コントローラーでは、ファイルが存在するかどうかを確認します

 if ( ! file_exists('application/views/pages/'.$page.'.php'))

私の質問は: このスクリプトは application/controllers/pages.php から実行されているので、指定されたパスfile_existsは現在のスクリプトからの相対パスではありませんか? つまり、application/controllers/application/views/pages/'.$page.'.php' を指す必要があります。

ただし、これは当てはまらず、パスは実際にはパスルートに関連するファイルをチェックします! それで、これは php 問題ですか、それとも codeigniter ですか?

ありがとう。

4

1 に答える 1

3

すべてのパスは、エントリスクリプトからの相対パスです ( index.phpCodeigniter が使用する可能性が高いもの)。

現在のスクリプトに関連するパスを取得するには、__FILE__定数を使用します。

file_exists(dirname(__FILE__) . "/path/to/file.php");
于 2013-01-04T17:15:30.483 に答える