我的网络文件存在于
下d:\的Inetpub \虚拟主机\ website.com \ HTTP \
我可以调用上面目录中的任何网络文件中的文件,例如
website.com \ index.php等......
现在我想出于安全原因将文件放在私人文件夹中,尤其是保存密码
d:\的Inetpub \虚拟主机\ website.com \私人\ 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 \ test.ini)[function.parse-ini-file]:无法打开流:
答案 0 :(得分: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
目录并将其用作定义/包含其他所有内容的参考。
希望这有帮助
答案 1 :(得分:1)
有关
d:\的Inetpub \虚拟主机\ website.com \ HTTP \的index.php
<?php
print_r( parse_ini_file('../private/test.ini') );
访问
d:\的Inetpub \虚拟主机\ website.com \私人\ test.ini
PHP将自动将unix样式的dir名称分隔符(/ insted of)转换为windows样式,这使得一些事情更容易。
如果您想独立于includep路径和cwd,请使用。 从php 5.3开始工作
<?php
print_r( parse_ini_file(__DIR__ . '/../private/test.ini') );