1

私のウェブファイルは下にあります

D:\ inetpub \ vhosts \ website.com \ http \

上記のディレクトリから任意のWebファイル内のファイルを次のように呼び出すことができます

website.com\index.phpなど...

セキュリティ上の理由から、特にパスワードを保存するために、ファイルをプライベートフォルダに配置したいと思います。

D:\ inetpub \ vhosts \ website.com \ private \ test.ini

このtest.iniファイルを次の関数で使用したいparse_ini_file( "* <path> * test.ini")

<パス>の値はどうあるべきですか?

D:\ inetpub \ vhosts \ website.org \ private \ test.iniを使用すると、 警告:parse_ini_file(D:\ inetpubhosts \ website.com \ private est.ini)[function.parse-ini-file]:失敗しましたストリームを開くには:

4

2 に答える 2

2

フォルダが 1 つ上のディレクトリ レベルになることがわかっている場合はprivate、次のようにすることができます。

<?php
define ('DS', DIRECTORY_SEPARATOR);               // So we don't have to type DIRECTORY_SEPARATOR...
define ('ROOT_DIRECTORY', dirname(__FILE__));
define ('PRIVATE_DIRECTORY', ROOT_DIRECTORY . DS . 'private');

これで、次のようなことができます。

<?php
$parsed = parse_ini_file (PRIVATE_DIRECTORY . DS . 'my_ini_file.ini');

// or
require_once PRIVATE_DIRECTORY . DS . 'myfile.php';

注: これは、Windows と *nix システムの両方で問題なく動作するため、システムに依存しません。

詳細については、PHP マニュアルを参照してください: dirname()DIRECTORY_SEPARATORおよび_ _FILE_ _

編集:

ルート フォルダーがディレクトリ構造の 2 つ以上のレベルにある場合は、いつでも次のようにできます。

<?php
// If the directory in which this file is located is: D:\inetpub\foo\bar\baz\file.php
// and the root directory is D:\inetpub\foo 
// Then you can do the followwing
define ('ROOT_DIRECTORY', dirname(dirname(dirname(__FILE__))));

// dirname ("D:\inetpub\foo\bar\baz\file.php");    // D:\inetpub\foo\bar\baz
// dirname ("D:\inetpub\foo\bar\baz");             // D:\inetpub\foo\bar
// dirname ("D:\inetpub\foo\bar");                 // D:\inetpub\foo

ディレクトリを定義ROOTし、それを他のすべてを定義/含めるための参照として使用することがすべてです。

お役に立てれば

于 2013-01-13T14:34:57.840 に答える
1

為に

D:\inetpub\vhosts\website.com\http\index.php

<?php

print_r( parse_ini_file('../private/test.ini') );

アクセスするために

D:\inetpub\vhosts\website.com\private\test.ini

PHP は、UNIX スタイルのディレクトリ名セパレータ (/ の挿入) を Windows スタイルに自動的に変換します。これにより、いくつかの作業が簡単になります。

インクルード パスと cwd から独立したい場合は、使用します。PHP 5.3以降の作業

<?php

print_r( parse_ini_file(__DIR__ . '/../private/test.ini') );

http://php.net/manual/en/language.constants.predefined.php

于 2013-01-13T14:31:51.093 に答える