PHP日常实用小Tips
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;
}
?>
下一篇:用PHP实现文件下载
↓相关文章:
- · 用PHP实现文件下载
- · linux下用php连接sqlserver解决办法
- · 下拉透明菜单
- · 收集的精典代码
- · 关于PHP的分页代码
- · 一家之言的经验之谈php+mysql扎实个人基本功
- · 用PHP写FTP文件上传
- · 用PHP写的MD5加密函数
- · 在php中输出html代码
- · php的pconnect()
- · PHP/ASP上传漏洞探究
- · 做个站内搜索引擎
- · heapsort(PHP)
- · 一个塑料期货交易程序分析图程序(PHP+JAVA)
- · 计算排列组合的php代码
- · 对页面的源代码进行加密,使源代码变成乱码,没法读取
- · 用phpUnit帮你调试php程序
- · PHP下对缓冲区的控制
- · PHP实现文件下载
- · 用PHP实现windows资源管理器风格的树型菜单
- · BS结构中使用PHP访问ORACLE LOB
- · 使用PHP 5.0 轻松解析XML文档(5)
- · 使用PHP 5.0 轻松解析XML文档(3)
- · 使用PHP 5.0 轻松解析XML文档(1)
- · PHP中实现面向对象编程(上)
- · PHP中接收复选框信息的方法
- · PHP操作IMAP服务器的类
- · PHP中时间和日期函数总结
- · PHP应用分页显示制作详细讲解(2)
- · PHP5中使用Web服务访问J2EE应用程序(4)
- · PHP5中使用Web服务访问J2EE应用程序(2)
- · PHP中通过Web执行C/C++应用程序
- · 用PHP编程开发“虚拟域名”系统
- · PHP中创建并处理图象
- · 用php编写的日历
- · PHP中的面向对象和面向过程
- · php如何更好更有效的实现-----用户注册页面
- · 上传多个文件的PHP脚本
- · php注入4
- · php注入2
- · PHP中类的理解和应用[二]
- · PHP计数器
- · 实例学习PHP之FastTemplate 模板篇
- · 关于PHP操作文件的一些FAQ总结
- · PHP 5/Zend Engine 2.0的改进

