• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

PHP日常实用小Tips

发布: 2007-7-01 15:06 | 作者: admin | 来源: | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网
1.简易判断ip地址合法性
2.email的正则判断
3.检测ip地址和mask是否合法的例子
4.关于表单刷新
5.关于表单刷新

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.今天解决了一个巨郁闷的问题
ipb的添加用户页面toadduser.php似乎会重复提交,导致在添加新用户的时候总是报该用户已经存在...已经郁闷了我3天了,终于搞定,大快人心!
----
5.关于表单刷新
问:为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了?

答:这是由于你在你的表单提交页面中使用了 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");

摘自phpe.net
----
6.快速搞定文件下载头部输出

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@#

.......2004-08-19 11:50:30
----
7.用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");
.......2004-10-08 13:26:45
8.替换所有的字符为*
$a="~!@#$%^&*./=-";
echo preg_replace("/./","*",$a);
用perl的正则替换,方便
9.正则匹配中文
ereg("^[".chr(0xa1)."-".chr(0xff)."]+$", $str);
10.批量替换文本里面的超级链接
<?php
function urlParse($str = @#@#)
{
if (@#@# == $str) return $str;

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

$replace = <<<EOPHP
@#<a href="@#.htmlentities(@#\1@#).htmlentities(@#\2@#).@#">@#.htmlentities(@#\1@#).htmlentities(@#\2@#).@#</a>@#
EOPHP;

$ret = $str;

while(list(,$type) = each($types))
{
$ret = preg_replace("|($type://)([^\s]*)|ie ", $replace, $ret);
}

return $ret;
}
?>

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网