与php.ini有关的几个PHP函数
PHP中提供四个函数实现对php.ini的操作:ini_get、ini_set、ini_get_all、ini_restore
其中最常用的是ini_set和ini_get。
下面具体来说说这两个函数的作用:
ini_get()
获取配置文件的选项值,即获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。
例如:
<?php
echo 'display_errors = ' . ini_get('display_errors') . "n"; //显示错误是否打开
echo 'register_globals = ' . ini_get('register_globals') . "n";//全局变量是否打开
echo 'post_max_size = ' . ini_get('post_max_size') . "n";//最多能提交的文件大小
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "n";
?>
输出:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
php.ini设置中提供magic_quotes_gpc=On选项来自动对post和get到的变量值进行特殊符号转义
php中同时提供了addslashes()函数来完成相同的功能,那么,我们在写过滤函数的过程中,为了兼容以前的版本(我没查过到底从哪个php版本中开始支持magic_quotes_gpc这个选项)或者是判断这个设置是否开启,以决定是否要在程序中对get和post变量进行转义,所以你就可以这样写一个函数:
function stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addslashes($str);
}
}
还有一种比较常用的情况就是,如果你不知道php.ini中的全局变量是否打开,可以写一个这样的函数:
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];
}
}
以上只是举了两个比较常见的例子去说明ini_get()函数的用处,还有其他地方可以用到
ini_set()
设置php.ini中的某些变量值,即设置php.ini中某个选项中的值(这里需要注意的是,在执行函数后生效,脚本结束的时候,这个设置也失效,且不是所有的选项都能被改函数设置,具体参考手册)
例如在php.ini中的选项display_error选项关闭了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用这个函数:
ini_set("display_errors", "On");
当然还有其他的设置,看你使用的要求具体控制这些选项;
有一个比较灵活的用法,是网上看到的,比如你想在配置文件里添加自己的包含
相关文档:
8 访问类型
类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP5 的新特性,但却是OOP语言的一个好的特性。而且大多数OOP 语言都已支持此特性。PHP5 支持如下3 种访问修饰符:
public(公有的、默认的),private(私有的)和protected(受保护的)三种。
public 公有修饰符,类中的成员将没有访问限制,所有的外部 ......
function handleEach(&$array,$functionName)
{
foreach($array as $k=>$v)
{
if(is_array($v))
{
handleEach(&$array[$k],$functionName);
}
else
$array[$k] = $functionName($v);
return $array[$k];
}
} ......
首先注意版本问题,一定要仔细查看php manual上的内容,如http://www.php.net/manual/en/install.windows.apache2.php 上有一个note:
Note
:
Apache 2.2 Support
Users of Apache 2.2 should note that the DLL file for Apache 2.2 is
named php5apache2_2.dll
rather than php5apache2.d ......
0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
1、如果能将类的方法定义成static,就尽量 ......
PHP手册上提供了以下一些主要的mysql数据库的支持函数:
mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数
mysql_change_user -- 改变活动连接中登录的用户
mysql_client_encoding -- 返回字符集的名称
mysql_close -- 关闭 MySQL 连接
mysql_connect -- 打开一个到 MySQL 服务器的连接
mysql_c ......