每一种编程语言在用的过程中都会发现有时候要一种特定需求的功能函数,结果没有内置这样的函数,这个时候就需要自己根据已有函数编写尽可能简单的函数,下面是我在做php相关工作时积累下的函数,会持续更新,您要是有好的也可以推荐给我,我在这里统一展示给大家。

  • 第一,生成随机字符串

代码如下面所示,要注意以下,查看手册可以看到,php在版本4.2.0以前生成随机数时,需要先给随机数发生器播种,PHP_VERSION>4.2.0的版本,系统自动完成播种工作,所以这里要做下判断。

<?php
function rand_str($length) {
$string = '';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
if(version_compare(PHP_VERSION, '4.2.0') >= 0) {
for($i=0;$i<$length;$i++) {
$p = rand(0,$max);
$string .= $chars[$p];
}
} else {
mt_srand((double)microtime(true)*1000000);
for($i=0;$i<$length;$i++) {
$p = mt_rand(0,$max);
$string .= $chars[$p];
}
}
return $string;
}
  • 第二,检测电话正确与否
/**
*@desc 检测电话号码是否正确
*@param string $phone 电话号码
*@param $type string 要检测的类型 CHN=>中国,INT=>国际
*/
function istelephone($phone, $type = 'CHN') {
$ret = false;
switch($type){
case "CHN":
$ret = (preg_match("/^(13[0-9]{9}$)|(14[0-9]{9}$)|(15[0|1|2|3|5|6|7|8|9]\d{8}$)|(18[0|1|2|3|5|6|7|8|9]\d{8})|(1709\d{7})/", trim($phone)) ? true : false);
break;
case "INT":
$ret = (preg_match("/^((\(\d{3}\))|(\d{3}\-))?\d{6,20}$/", trim($phone)) ? true : false);
break;
}
return $ret === false ? false : true;
}
  • 第三,curl函数的封装
function curl($url, $method="get", $post=array(), $options=array(), &$error=false, &$errno=false, &$httpCode=false) {
$defaults = array(
CURLOPT_HEADER => 0,
CURLOPT_URL => $url,
CURLOPT_FRESH_CONNECT => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FORBID_REUSE => 1,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_TIMEOUT => 60,
);
if($method=="post"){
$defaults[CURLOPT_POST] = 1;
$defaults[CURLOPT_POSTFIELDS] = $post;
}
$ch = curl_init();
$result = '';
if($ch) {
foreach($options as $k=>$v) {
$defaults[$k] = $v;
}
curl_setopt_array($ch, $defaults);
$result = curl_exec($ch);
if($result === false) {
if($error !== false) {
$error = curl_error($ch);
}
if($errno !== false) {
$errno = curl_errno($ch);
}
if($httpCode !== false) {
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
}
}
curl_close($ch);
}
return $result;
}
//get方式获取我的博客的rss页面
print_r(curl("http://feed.cnblogs.com/blog/u/199201/rss","get"));
//post方式获取ip地址信息
print_r(curl("http://ip.taobao.com/service/getIpInfo.php","post",array('ip'=>'180.97.33.107')));

php常用函数(持续更新)的更多相关文章

  1. PHP的常用函数 持续更新

    PHP的常用函数 前言: 由于害怕遗忘,故在此记录下常用的php函数,以便复习 1 define函数 作用:定义常量 用法 <?php define('a',100); ?> 2 intv ...

  2. php 常用的好函数(持续更新)

    parse_url parse_url $url = "http://www.electrictoolbox.com/php-extract-domain-from-full-url/&qu ...

  3. MySQL的一些常用sql函数(持续更新。。)

    1. 字符串拼接函数 :CONCAT(str1,str2,...) SELECT CONCAT('AAA','BBB') STR; //AAABBB 2. 判断是否为null,为null就指定另外一个 ...

  4. STL 一些常用的STL函数(持续更新

    先说一下  一边要用到算法的东西一般要加#include<algorithm>头文件 一.栈和队列 1 栈 :一种线性表 特点  后进先出 头文件  #include<stack&g ...

  5. php常用函数(持续中)

    字符串 折分字符串:split和explode 函数原型:array split (string $pattern, string $string [, int $limit])           ...

  6. iOS 常用三方(持续更新)

    iOS 常用三方 1.ZWMSegmentController 分页控制器 https://github.com/weiming4219/ZWMSegmentController

  7. 记录 C++ STL 中 一些好用的函数--持续更新 (for_each,transform,count_if,find_if)

    在日常的编程中,有这么几种操作还是比较常见的: 把一组数据都赋值成一个数,在一组数据中查找一个数,统计一组数据中符合条件的数等等. 一般的写法可以用循环,没有什么是循环不能搞定的.假如在这里怎么用介绍 ...

  8. Linux常用命令——持续更新(2018-05-09)

    此命令默认是在centos环境下执行,除非特殊标明. 1.查看ip: ifconfig 2.创建指定用户并分配到某个组:创建用户user并分配到root组 useradd -g root user 3 ...

  9. python中一些有用的函数------持续更新中

    strip() 函数 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. str2 = " Runoob " # 去除首尾空格 print (str2.strip()) ...

  10. Appium无线连接安卓终端方法 + ADB Shell常用命令(持续更新)

    ADB无线连接手机的方法1)手机与PC有线相连 - 检查是否连接正常: adb devices - 执行以下命令:adb tcpip 5555 # 当前9001       - 成功提示:restar ...

随机推荐

  1. jboss eap 6.2+ 版本中 加密datasource密码等敏感信息

    默认情况下,在jboss eap 6.2+ 管理控制台创建datasource后,会在standalone.xml(独立模式)或host.xml(域模式)中以明文保存相关敏感信息. 这会给服务器留下安 ...

  2. github开源:企业级应用快速开发框架CIIP WEB+WIN+移动端

    简介 CIIP是基于XAF开发的开源信息系统框架.CIIP最常见的应用场景是基于数据库的企业级应用程序,例如供应链系统,ERP系统,MRP系统,CRM系统等. CIIP支持WEB版本.Windows桌 ...

  3. 将DBF文件导入Sqlserver数据库

    项目中的问题:用户选择N个dbf文件导入sql2005数据库,由于每年dbf表结构都在变化,所以在sql2005中根本就不存在,需要每年根据dbf的结构自动建表.(文章来自http://blog.cs ...

  4. JavaScript UI选型及Jquery EasyUI使用经验谈

    最近由于项目需要,对js UI作了一些简单的了解和使用,有自己的一些想法,在这里留个记录. 当然,我的专注点在管理系统的范围内,所以互联网网站及其他形态的应用这里不提及,所以jQuery UI和Boo ...

  5. Android 强制竖屏

    一般android 显示内容都有两种实现方式,java代码中实现,xml布局中实现(或者权限管理页面) 直接上代码: java方法 setRequestedOrientation(ActivityIn ...

  6. 屠龙之路_战胜View&对DataBase猛烈进攻_ThirdDay

    避开狮身人面兽攻击的屠龙战士继续前行.突然眼见一黑,战士们进到迷宫里,机智的战士用一根羊毛线绑在迷宫入口处,少年们手握着羊毛线,在迷宫里继续前行.在那样一个拐角处,遇到了恶龙的手下View&D ...

  7. URL参数GB2312和UTF-8编码 自动识别

    网上找的,以备后用. 直接上代码: public static string QueryStringDecode(string key) { HttpRequest Request = System. ...

  8. Spring MVC 相关资料整理

    来源于:http://www.cnblogs.com/ylhssn/p/4062757.html 1.概述 Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即 ...

  9. web单页应用(1)--第一个SPA

    <!doctype html> <html> <head> <title>第一个SPA</title> <style type=&qu ...

  10. 【POJ 3693】Maximum repetition substring 重复次数最多的连续重复子串

    后缀数组的论文里的例题,论文里的题解并没有看懂,,, 求一个重复次数最多的连续重复子串,又因为要找最靠前的,所以扫的时候记录最大的重复次数为$ans$,扫完后再后从头暴力扫到尾找重复次数为$ans$的 ...