首页 > php开发 > PHP日常实用小Tips

PHP日常实用小Tips

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是否合法的例子

<?php
$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下载方式,并且支持断点续传

一个例子:

<?php
header('Pragma: public');
header('Cache-Control: private');
header('Cache-Control: no-cache, must-revalidate');
header('Accept-Ranges: bytes');


本文地址:http://www.phprm.com/develop/4add94d36e289b63b52aec4a6ab19d53.html

转载随意,但请附上文章地址:-)

标签:none

发表留言