多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP日常实用小Tips

时间:2017-05-02 16:27:20 [来源]:郑州PHP培训学校

   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]{2,6}$", $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.批量替换文本里面的超级链接
  '.htmlentities('\1').htmlentities('\2').''
  EOPHP;
  $ret = $str;
  while(list(,$type) = each($types))
  {
  $ret = preg_replace("|($type://)([^s]*)|ie ", $replace, $ret);
  }
  return $ret;
  }
  ?>

上一篇:PHP初学者头疼问题总结

下一篇:PHP中的面向对象和面向过程