一些被忽视的 PHP 函数
转载自:http://www.gracecode.com/archives/3013/
作者:手气不错
真的是不用不知道,其实我们熟悉的 PHP 还有很多好东西没有发掘。看到这篇文章
,当时就泪奔了好几回,重点推荐下,顺便我自己也做个整理。
sys_getloadavg()
这个函数
返回当前系统的负载均值信息
(当然 Windows 下不适用),详细文档可以翻阅 PHP 的相关文档。文档中有段示例代码,基本上也就能看出它的用途了。
<?php
$load = sys_getloadavg();
if ($load[0] > 80) {
header('HTTP/1.1 503 Too busy, try again later');
die('Server too busy. Please try again later.');
}
PS,如果“很不幸”得你的 PHP 环境中没有这个函数,可以考虑使用下面这段代码
if (!function_exists('sys_getloadavg')) {
function sys_getloadavg()
{
$loadavg_file = '/proc/loadavg';
if (file_exists($loadavg_file)) {
return explode(chr(32),file_get_contents($loadavg_file));
}
return array(0,0,0);
}
}
这一特性如果使用得当,能减轻服务器部分压力。
pack()
pack
对应的还有个函数为 unpack
,用于压缩二进制串,文中的作者的示例非常清楚
$pass_hash = pack("H*", md5("my-password"));
如果你使用 PHP5,那么可以直接这样子
$pass_hash = md5("my-password", true); // PHP 5+
这样做的好处之一是能减少串存储空间(能节省多少呢?可能又会是另篇文章了)。
这里还有个示例代码可以 pack 数组
<?php
function pack_array($v,$a) {
return call_user_func_array(pack,array_merge(array($v),(array)$a));
}
cal_days_in_month()
该函数
可以直接返回指定月份中的天数,例如
$days = cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y"));
_()
呃,这的确也是个 PHP 函数
(也有可能是最短的 PHP 内置函数)。_()
是它的“小名”,它的大名是 gettext()
。
写过 Wordpress 皮肤的朋友会了解 __()
以及 _e()
这些函数,其实 PHP 早已经自带了相关的功能。
// Set language to German
setlocale(LC_ALL, 'de_DE');
// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");
// Choose domain
textdomain("
相关文档:
本文需要你已对Gearman有个大致了解,如果不知该东东是何物,请参考之前一篇转帖日志《Gearman - 分布式远程过程处理框架》
顺便再推荐两篇参考文章
http://hi.baidu.com/thinkinginlamp/blog/item/ff49972b9e7378f3e6cd40aa.html
(学学Gearman)
http://www.ibm.com/developerworks/cn/opensource/os-php-gearman/ind ......
练琴的时候把RIFF叫做一个曲子的小片段,那么我自己定义一下程序的RIFF就是一小段程序吧,放一些这几天自己写的,以后也长期更新,作为自己积累和今后编程的参考。
1. 格式化网址,若没有HTTP头则插入HTTP头
<?php
//add http head to url
function AddHttpHead( &$s )
{
$exist = strstr( $s,"http://" ......
原文链接:http://www.phpdo.net/index.php/2010/02/09/1-12/
PHP的数据类型的转换有两种方法可以办到:直接输入目标的数据类型和通过settype函数实现。
PHP数据转换成整数
Float型数据转换成int型
Float型转换成int型,小数点后的数将被舍弃。如果float数超贵超过了整型的取值范围,那么结果可能是0或者是整形的最小负 ......
1.不转意html entities
一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意。
echo $_GET['usename'] ;
这个例子有可能输出:
<scrīpt>/*更改admin密码的脚本或设置cookie的脚本*/</scrīpt>
这是一个明显的安全隐患,除非你保证你的用户都正确的输入。
......
Nginx + PHP + Mysql (php-frm 방식)
글쓴이 :
최고관리자
조회 : 2,884
......