1

サーバーのpublic_htmlフォルダーにファイルが存在するかどうかを調べようとしています。

最初の試行:

if ( file_exists('./local-config.php')) {

しかし、これは、上記のifステートメントを呼び出すphpファイルが同じフォルダーにある場合にのみ機能します...ダメ...

2回目

if ( file_exists( $_SERVER['SERVER_NAME'].'/local-config.php' ) ) {

動作しません...

3回目

if ( file_exists( 'http://'. $_SERVER['SERVER_NAME'].'/local-config.php' ) ) {

また、動作しません...

4回目

$_SERVER['DOCUMENT_ROOT'] seems to fall short of my public_html folder!

何か案は?

フルパスに入れれば、これを機能させることができます...例:

if ( file_exists( '/home/username/public_html/local-config.php' ) ) {

ただし、スクリプトは複数のサーバーで使用される可能性があるため、これは私には良くありません。そのため、一般的なものが必要です。

PHPにpublic_htmlパスを動的に返すようにすることは可能ですか?

4

2 に答える 2

1

この目的のために、アプリケーション全体でグローバル変数を作成します。に似ている:

define('ROOT', dirname(__FILE__));

次に、次のようなファイル名でこれを使用します。

ROOT . '/my_file.php'
于 2013-02-04T19:28:25.500 に答える
0

次のようなことを試してください。

$path = dirname(__FILE__);
// or just __DIR__ - it should be the same thing

これは、呼び出されているファイルのフルパスを返します。 PHP__FILE__の「魔法の定数」です。ヘルプページから:

The full path and filename of the file. If used inside an include, the name of
the included file is returned. Since PHP 4.0.2, __FILE__ always contains an
absolute path with symlinks resolved whereas in older versions it contained
relative path under some circumstances. 

結果のパスを使用して、必要なものを正確に取得する方法を理解できるはずです。

于 2013-02-04T19:06:47.913 に答える