如何调用PHP中私有文件夹中的文件

时间:2013-01-13 14:26:06

标签: php

我的网络文件存在于

  

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]:无法打开流:

2 个答案:

答案 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') );

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