PHP的几个配置文件函数

 更新时间:2016年11月25日 16:53  点击:2124

以前一直没注重,今天听同事讲起,马上看看,功能强大。
php的配置函数就是几个ini_*的函数,主要是针对配置文件的操作,其实就四个函数:ini_get、ini_set、ini_get_all、ini_restore。个人感觉最有用的就是ini_set和ini_get。
* ini_get():获取配置文件的选项值
这个函数相信很多人都使过,就是获取配置文件中某一个选项的值,假如是true值就返回1,假如是false值就返回0,字符串就返回字符串。
比如手册中的例子:
<?php
/*
Our php.ini contains the following settings:
display_errors = On
register_globals = Off
post_max_size = 8M
*/
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

这个函数主要是为了获取配置文件,可以方便你很多操作。比如你想操作字符串过滤,但是又不清楚magic_quotes_gpc有没有打开,所以你就可以这样写一个函数:
/* 字符串过滤函数 */
function stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addslashes($str);
}
}
当然,假如你无法知道你的全局变量是否打开,也可以定制这样的函数:
/* 变量检测函数 */
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];

这些都是php自带函数

echo $_SERVER["CERT_FLAGS"]."";//使用证书的标识,1或0
echo $_SERVER["CERT_ISSUER"]."";//颁发机构
echo $_SERV R["CERT_SERIALNUMBER"]."";//序列号
echo $_SERVER["CERT_SUBJECT"]."";//主题
echo $_SERVER["HTTPS"]."";//https开关,on或off
echo $_SERVER["HTTPS_KEYSIZE"]."";//密钥长度,128
echo $_SERVER["HTTPS_SECRETKEYSIZE"]."";//加密强度,1024
echo $_SERVER["HTTPS_SERVER_ISSUER"]."";//服务器证书颁发机构
echo $_SERVER["HTTPS_SERVER_SUBJECT"]."";//服务器证书主题

<?
function check_ip($range,$ip='') {
if($ip == '') $ip = getenv("REMOTE_ADDR");
if ($ip == "127.0.0.1") return 1;
$result = 1;
if (ereg("([0-9] ).([0-9] ).([0-9] ).([0-9] )/([0-9] )",$range,$regs)) {
$ipl = ip2long($ip);
$rangel = ip2long($regs[1] . "." . $regs[2] . "." . $regs[3] . "." . $regs[4]);

$maskl = 0;

for ($i = 0; $i< 31; $i ) {
if ($i < $regs[5]-1) {
$maskl = $maskl pow(2,(30-$i));
}
}

if (($maskl & $rangel) == ($maskl & $ipl)) {
return 1;
} else {
return 0;
}
} else {

$maskocts = split(".",$range);
$ipocts = split(".",$ip);
for ($i=0; $i<4; $i ) {
if (ereg("[([0-9] )-([0-9] )]",$maskocts[$i],$regs)) {
if ( ($ipocts[$i] > $regs[2]) || ($ipocts[$i] < $regs[1])) {
$result = 0;
}
}
else
{
if ($maskocts[$i] <> $ipocts[$i]) {
$result = 0;
}
}
}
}
return $result;
}

function auth_ip(){
$result = 0;
$null_check = 1;

$path = "ip.cf"; //ip限制配置文件,每行的格式为
/*
xxx.xxx.xxx.xxx 比如 127.0.0.2
xxx.xxx.xxx.[yyy-zzz] 比如 1270.0.0.[2-23]
xxx.xxx.xxx.xxx/nn 比如 127.0.0.0/24
*/
$fg=@fopen($path,"r");

while($line=@fgets($fg,1024)){
$line = trim($line);
$line=ereg_replace("#.*","",$line);
if ($line != ""){
$null_check = 0;
if (check_ip($line)) {
fclose($fg);
return 1;
}
}
}
@fclose($fg);
if ($null_check == 1) return 1;
return $result;
}


?>

<?

$a='english';

$b='中文';

$c='english&中文';



function chkGB($Str) {

$StrLen = strlen($Str);

$Length = 1;

for($i = 0;$i < $StrLen;$i ) {

$TmpStr = ord(substr($Str,$i,1));

$TmpStr2 = ord(substr($Str,$i 1,1));

if(($TmpStr <= 161 || $TmpStr >=247) && ($TmpStr2 <= 161 || $TmpStr2 >=247)) {

$LegalFlag = 0;

break;

}else {

$LegalFlag = 1;

}

}

return $LegalFlag;

}

echo chkGB($a).','.chkGB($b).','.chkGB($c);

?>

Abs: 取得绝对值。
Acos: 取得反余弦值。
ada_afetch: 取得资料库的传回列。
ada_autocommit: 开关自动更动功能。
ada_close: 关闭 Adabas D 连结。
ada_commit: 更动 Adabas D 资料库。
ada_connect: 连结至 Adabas D 资料库。
ada_exec: 执行 SQL 指令。
ada_fetchrow: 取得传回一列。
ada_fieldname: 取得栏位名称。
ada_fieldtype: 取得栏位资料形态。
ada_freeresult: 释出传回资料的记忆体。
ada_numfields: 取得栏位数目。
ada_numrows: 取得传回列数目。
ada_result: 取得传回资料。
ada_resultall: 传回 HTML 表格资料。
ada_rollback: 撤消当前交易。
AddSlashes: 字串加入斜线。
apache_lookup_uri: 获得所有的 URI 相关资讯。
apache_note: 获得及设定阿帕契伺服器的请求纪录。
array: 建立一个新的阵列。
array_walk: 让使用者自订函数能处理阵列中的每一个元素。
arsort: 将阵列的值由大到小排序。
Asin: 取得反正弦值。
asort: 将阵列的值由小到大排序。
aspell_check: 检查一个单字。
aspell_check-raw: 检查一个单字,即使拼错也不改变或修正。
aspell_new: 载入一个新的字典。
aspell_suggest: 检查一个单字,并提供拼字建议。
Atan: 取得反正切值。
Atan2: 计算二数的反正切值。
base64_decode: 将 BASE64 编码字串解码。
base64_encode: 将字串以 BASE64 编码。
basename: 传回不含路径的档案字串。
base_convert: 转换数字的进位方式。
bcadd: 将二个高精确度数字相加。
bccomp: 比较二个高精确度数字。
bcdiv: 将二个高精确度数字相除。
bcmod: 取得高精确度数字的余数。
bcmul: 将二个高精确度数字相乘。
bcpow: 求一高精确度数字次方值。
bcscale: 设定程式中所有 BC 函式库的内定小数点位数。
bcsqrt: 求一高精确度数字的平方根。
bcsub: 将二个高精确度数字相减。
bin2hex: 二进位转成十六进位。
BinDec: 二进位转成十进位。
Ceil: 计算大于指定数的最小整数。
chdir: 改变目录。
checkdate: 验证日期的正确性。
checkdnsrr: 检查指定网址的 DNS 记录。
chgrp: 改变档案所属的群组。
chmod: 改变档案的属性。
Chop: 去除连续空白。
chown: 改变档案的拥有者。
Chr: 传回序数值的字元。
chunk_split: 将字串分成小段。
clearstatcache: 清除档案状态快取。
closedir: 关闭目录 handle。
closelog: 关闭系统纪录。
connection_aborted: 若连结中断则传回 true。
connection_status: 取得连线状态。
connection_timeout: 若超过 PHP 程式执行时间则传回 true。
convert_cyr_string: 转换古斯拉夫字串成其它字串。
copy: 复制档案。
Cos: 余弦计算。
count: 计算变数或阵列中的元素个数。
crypt: 将字串用 DES 编码加密。
current: 传回阵列中目前的元素。
date: 将伺服器的时间格式化。
dbase_add_record: 加入资料到 dBase 资料表。
dbase_close: 关闭 dBase 资料表。
dbase_create: 建立 dBase 资料表。
dbase_delete_record: 删除 dBase 资料表的资料。
dbase_get_record: 取得 dBase 资料表的资料。
dbase_numfields: 取得 dBase 资料表的栏位数。
dbase_numrecords: 取得 dBase 资料表的列数。
dbase_open: 开启 dBase 资料表。
dbase_pack: 清理 dBase 资料表。
dba_close: 关闭资料库。
dba_delete: 删除指定资料。
dba_exists: 检查键是否存在。
dba_fetch: 取回指定资料。
dba_firstkey: 取回首笔键值。
dba_insert: 加入资料。
dba_nextkey: 取回下笔键值。
dba_open: 开启资料库连结。
dba_optimize: 最佳化资料库。
dba_popen: 开启并保持资料库连结。
dba_replace: 更动或加入资料。
dba_sync: 资料库同步化。
dblist: 取得 DBM 的资讯。
dbmclose: 关闭 DBM 资料库。
dbmdelete: 删除指定资料。
dbmexists: 检查键是否存在。
dbmfetch: 取回指定资料。
dbmfirstkey: 取回首笔键名。
dbminsert: 加入资料。
dbmnextkey: 取回下笔键值。
dbmopen: 开启 DBM 资料库连结。
dbmreplace: 更动或加入资料。
debugger_off: 关闭内建的 PHP 除错器。
debugger_on: 使用内建的 PHP 除错器。
DecBin: 十进位转二进位。
DecHex: 十进位转十六进位。
DecOct: 十进位转八进位。
delete: 无用的项目。
die: 输出讯息并中断 PHP 程式。
dir: 目录类别物件。
dirname: 取得路径中的目录名。
diskfreespace: 取得目录所在的剩余可用空间。
dl: 载入 PHP 扩充模组。
doubleval: 变数转成倍浮点数型态。
each: 传回阵列中下一个元素的索引及值。
easter_date: 计算复活节日期。
easter_days: 计算复活节与三月廿一日之间日期数。
echo: 输出字串。
empty: 判定变数是否已设定。
end: 将阵列的内部指标指到最后的元素。
ereg: 字串比对剖析。
eregi: 字串比对剖析,与大小写无关。
eregi_replace: 字串比对剖析并取代,与大小写无关。
ereg_replace: 字串比对剖析并取代。
error_log: 送出一个错误讯息。
error_reporting: 设定错误讯息回报的等级。
escapeshellcmd: 除去字串中的非凡符号。
eval: 将值代入字串之中。
exec: 执行外部程式。
exit: 结束 PHP 程式。
Exp: 自然对数 e 的次方值。
explode: 切开字串。
extract: 汇入阵列到符号表。
fclose: 关闭已开启的档案。
FDF_close: 关闭 FDF 文件。
FDF_create: 建立新的 FDF 文件。
FDF_get_file: 取得 /F 键的值。
FDF_get_status: 取得 /STATUS 键的值。

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04