PHP日常实用小Tips

【 服务器学院】1.简易判断ip地址合法性

if(!strcmp(long2ip(sprintf("%u",ip2long($ip))),$ip)) echo "is ipn";

2.email的正则判断

eregi("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+.)+[a-zA-Z]$", $email);

3.检测ip地址和mask是否合法的例子

$ip = '192.168.0.84';

$mask = '255.255.255.0';

$network = '192.168.0';

$ip = ip2long($ip);

$mask = ip2long($mask);

$network = ip2long($network);

if( ($ip & $mask) == $network) echo "valid ip and maskn";

?>

4.关于表单刷新

问:为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了?

答:这是由于你在你的表单提交页面中使用了 session_start 函数。该函数会强制当前页面不被缓存。解决办法为,在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出。

补充:还有基于session的解决方法,在session_start前加上

session_cache_limiter('nocache');// 清空表单

session_cache_limiter('private'); //不清空表单,只在session生效期间

session_cache_limiter('public'); //不清空表单,如同没使用session一般

可以在session_start();前加上session_cache_limiter("private,max-age=10800");

5.快速搞定文件下载头部输出

header("Content-type: application/x-download");

header("Content-Disposition: attachment; filename=$file_download_name;");

header("Accept-Ranges: bytes");

header("Content-Length: $download_size");

echo 'xxx'

6.用header输出ftp下载方式,并且支持断点续传

一个例子:

header('Pragma: public');

header('Cache-Control: private');

header('Cache-Control: no-cache, must-revalidate');

header('Accept-Ranges: bytes');

header('Connection: close');

header("Content-Type: audio/mpeg");

header("Location:ftp://download:1bk3l4s3k9s2@218.30.116.103/1001/咖哩辣椒/咖喱辣椒.rmvb");

7.正则匹配中文

ereg("^[".chr(0xa1)."-".chr(0xff)."]+$", $str);

8.批量替换文本里面的超级链接

function urlParse($str = '')

{

if ('' == $str) return $str;

$types = array("http", "ftp", "https");

$replace = << ''.htmlentities('1').htmlentities('2').''

EOPHP;

$ret = $str;

while(list(,$type) = each($types))

{

$ret = preg_replace("|($type://)([^s]*)|ie ", $replace, $ret);

}

return $ret;

}

?>

 
PHP TIPS:关于状态函数应用file_exists()和clearstatcache();
PHP TIPS:关于状态函数应用file_exists()和clearstatcache(); PHP TIPS:关于状态函数应用file_exists()和clearstatcache(); PHP TIPS:关于状态函数应用不知道大家注意到没有,在使用PHP的状态函数时,有时会...查看完整版>>PHP TIPS:关于状态函数应用file_exists()和clearstatcache();
 
PHP tips--Global var的另钟解决方法
PHP tips--Global var的另钟解决方法 PHP tips--Global var的另钟解决方法 很多初学者不知道怎么处理register_globals = off情况下变量,后来学会了又嫌 _GET _POST等全局数组麻烦 那么试试如下函数// This ...查看完整版>>PHP tips--Global var的另钟解决方法
 
PHP TIPS:关于状态函数应用file_exists()和clearstatcache();
PHP TIPS:关于状态函数应用不知道大家注意到没有,在使用PHP的状态函数时,有时会遇到些奇怪的问题。比如下面程序在使用file_exists()函数时出现的状况:<?php$myfile = "/usr/local/somefile.txt";if(...查看完整版>>PHP TIPS:关于状态函数应用file_exists()和clearstatcache();
 
PHP tips--Global var的另钟解决方法
很多初学者不知道怎么处理register_globals = off情况下变量,后来学会了又嫌 _GET _POST等全局数组麻烦 那么试试如下函数// This will import GET and POST vars// with an "rvar_" prefiximport_request_variables...查看完整版>>PHP tips--Global var的另钟解决方法
 
PHP技巧:PHP网站发开实用技巧集锦-PHP语言
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言...查看完整版>>PHP技巧:PHP网站发开实用技巧集锦-PHP语言