1

我的网络文件存在于

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

我可以从上面的目录中调用我的任何网络文件中的文件,例如

website.com\index.php 等...

现在出于安全原因,我想将文件放在私人文件夹中,特别是为了保存密码

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

我想在下面的函数 parse_ini_file("* < path > *test.ini")中使用这个 test.ini 文件

<path> 的值应该是多少?

当我使用D:\inetpub\vhosts\website.org\private\test.ini它说 警告:parse_ini_file(D:\inetpubhosts\website.com\private est.ini) [function.parse-ini-file]: failed打开流:

4

2 回答 2

2

好吧,如果您知道您的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_ _

编辑:

如果根文件夹在目录结构中的上一级以上,您始终可以这样做:

<?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 风格的目录名称分隔符(/ insted of )转换为 windows 风格,这让一些事情变得更容易。

如果您喜欢独立于 includep 路径和 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 回答