0

次のような関数内にファイルを要求する必要があります。

function MyFunction(){
    require_once('../../myfile.php');
    //do stuff
}

この関数はサイトのどこでも使用できるため、必要なファイルのパスは変更しないでください。使用してみchdir(dirname(__FILE__));ましたが、後でphpで他のファイルのディレクトリが変更されます。これは望ましくありません。

Webサイト全体のさまざまなディレクトリにいると、必要なファイルでストリームを開くことができなかったというエラーメッセージが表示されます。

これどうやってするの?

4

3 に答える 3

0

私はこのようなことに使う傾向があります$_SERVER['DOCUMENT_ROOT']。ただし、仮想ホストファイルのどこにドキュメントルートが設定されているかに依存します。

于 2013-02-14T05:49:24.643 に答える
0

この場合、絶対パスを使用する必要があります。

で、index.phpファイルの場所を取得する必要がありますindex.php。これが参照ポイントになります。

<?php

// store it in a constant, this info will not be changed anyway
define('APP_PATH',dirname(__FILE__));

//... rest of your code here

そして、そのファイルに対してrequire_onceを実行する必要がある場合(たとえばmyfile.php、ファイルの2つ上のindex.phpディレクトリ):

require_once(dirname(dirname(APP_PATH)).DIRECTORY_SEPARATOR.'myfile.php');

または、myfile.phpindex.phpと同じディレクトリにある場合:

require_once(APP_PATH.DIRECTORY_SEPARATOR.'myfile.php');

ノート

DIRECTORY_SEPARATORパス区切り文字のPHP定数です(/Linux、Unix、Macなど、または\Windowsの場合)。

于 2013-02-14T07:35:53.217 に答える
0

require_once(__DIR__'/../myfile.php')同様の解決策が提供された場合、この質問を使用します。

phprequire_onceが希望どおりに機能しない..相対パスの問題

于 2013-02-14T19:12:23.737 に答える