四时宝库

程序员的知识宝库

PHP小函数让项目可配,更安全:parse_ini_file

PHP小函数让项目可配,更安全:parse_ini_file

php页面怎么写,可以不把mysql用户名和密码透露给别的开发者?

项目的配置参数都写到PHP里好像很不专业肿么办?!

配置文件是个好东西!

今天写配置文件和一个相关。

这个内容是受昨天一些读者的启迪,因为有不少人认为extract会打乱项目变量,对很多人来说是的,但我先不深聊。今天看完parse_ini_file的用法,也算一小部分展开了extract的进一步使用思路。

有了配置文件我们就不用在项目中定义无数的常量或者全局变量了。

我们打开某些软件可以看到一些后缀名为ini的文件,比如config.ini。很多项目和框架也是有的,这是用来干嘛的?

是因为在项目中我们有些数值要调整,或要有调整的空间,我们写在项目里不如写在项目外边某个文件中统一管理。


怎么用呢?

ini文件就是一个文本,用键值的方式写,不需要引号:

创建文件:con.ini

username=root

password=521123

代码一行导入数组:

$config=parse_ini_file('con.ini');

//这样你就获得了有两个元素的数组, $config['username'],以及$config['password']


这除了方便,为什么安全?

因为这可以让你的php文件和生产服务器上的用户密码分开保存,而服务器上的ini文件你把访问权限设置一下即可。注意可以不用存成ini,而是其他更安全的后缀,比如.htaccess后缀是默认肯定不能下载的,所以保存成con.htaccess


配置文件我想写得复杂些啊

可以,比如我在ini文件分两类值,一个魔法(magic)和一个基础(base):

[magic]

fire=99

ice=15

[base]

hp=99

mp=105

这样如果导入你只能获得一个四个值的数组


如何在数组里区别是magic还是base的值?

$config=parse_ini_file('con.ini',true); //注意第二参数true

于是你获得了一个二维数组

$config['magic']['fire']的值是99

那么用前extract一下,连上上篇文章了。

建议用时再extract,比如mysql连接的单例里,你再extract刚才的$config:

global $config;

extract($config);

这样不用顾虑命名的覆盖。


写代码如写文章,各有风格,详细慢慢再聊。

加我的新Q群,和我慢慢探讨:129120971

多点赞转载我就写更多干货,谢谢鼓励!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接