每一种编程语言在用的过程中都会发现有时候要一种特定需求的功能函数,结果没有内置这样的函数,这个时候就需要自己根据已有函数编写尽可能简单的函数,下面是我在做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. Oracle:ODP.NET Managed 小试牛刀

    “ODP.NET Managed”发布已经有一段时间了,近期正好有一个新项目,想尝试用一下,参考园子里的文章:<.NET Oracle Developer的福音——ODP.NET Managed ...

  2. 记一个全局变量"冒充"局部变量引起的bug

    看代码相当简单直观,觉得怎么都不会出错,可运行结果明明就是错了 - 对着vim摸着脑袋就是想不出哪里有问题,可去掉新加的代码,就又可以了. 没办法,只好祭出杀手锏:一行一行注释掉来观察... 反映问题 ...

  3. c++ 头文件

    可以将程序分为二部分: 头文件:包含结构声明和使用这些结构的函数的原型 源代码文件: 包含与结构有关的函数的代码 不要将函数的定义或变量的声明放在头文件里, 一般头文件可以包含以下内容 >函数原 ...

  4. 我的Logo设计简史

    近日,日本东京奥运会会微因涉嫌抄袭而被弃用的新闻引起设计界的一翻热论.在此我想到自己的LOGO设计,虽说并一定不好看甚至自己看回来都觉得略丑,但 几乎没有过抄袭的念头.有句话说,不想当设计师的程序猿不 ...

  5. HTML5+JS 《五子飞》游戏实现(一)规则

    很久没写文章了,这个游戏其实已经写了有段时间了,一直没有完善,赶在新年之际,分享给大家. 该<五子飞>游戏,不是平常大家所说的<五子棋>,这个玩法简单,是我们老家儿时常玩的一种 ...

  6. SQL Server 2012新特性(1)T-SQL操作FileTable目录实例

    在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contai ...

  7. 中间件(middlebox)

    Middleboxes (also known as network functions) are systems that perform sophisticated and often state ...

  8. Excel——将内容导出

    using (FileStream fsRead = File.OpenRead("111.xls")) { IWorkbook wk = new HSSFWorkbook(fsR ...

  9. C#中的System.Speech命名空间初探

    本程序是口算两位数乘法,随机生成两个两位数,用语音读出来.然后开启语音识别,接受用户输入,知道答案正确关闭语音识别.用户说答案时,可以说“再说一遍”重复题目. 关键是GrammarBuilder和Ch ...

  10. Android复习笔记--Activity

    #Activity注册 Android四大组件(Activity,Service,Broadcast Receiver, Content Provider)都需要在AndroidManifest中注册 ...