PHP中一些有用的函数
<?php
/**
* 加密解密
*
* @param string $key
* @param string $string
* @param string $decrypt
* @return string
*/ function encryptDecrypt($key, $string, $decrypt)
{
if($decrypt){
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12");
return $decrypted;
}else{
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
return $encrypted;
}
} function generateRandomString($length = 10)
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
return $randomString;
} /**
* 获取扩展名
* @param string $filename
* @return string
*/
function getExtension($filename)
{
$ext = substr($filename, strrpos($filename, '.'));
return str_replace('.','',$ext);
} function formatSize($size)
{
$sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
if ($size == 0) {
return('n/a');
} else {
return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]);
}
} function stringParser($string,$replacer)
{
$result = str_replace(array_keys($replacer), array_values($replacer),$string);
return $result;
} function listDirFiles($DirPath)
{
if($dir = opendir($DirPath)){
while(($file = readdir($dir))!== false){
if(!is_dir($DirPath.$file)) {
echo "filename: $file<br />";
}
}
}
} function curPageURL()
{
$pageURL = 'http';
if (!empty($_SERVER['HTTPS'])) {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
} function download($filename)
{
if ((isset($filename))&&(file_exists($filename))){
header("Content-length: ".filesize($filename));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $filename . '"');
readfile("$filename");
} else {
echo "Looks like file does not exist!";
}
} /**
* 获取IP地址
*
* @return string
*/
function getIp()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")){
$ip = getenv("HTTP_CLIENT_IP");
}elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
}elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")){
$ip = getenv("REMOTE_ADDR");
}elseif (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")){
$ip = $_SERVER['REMOTE_ADDR'];
}else
$ip = "unknown";
return ($ip);
} function injCheck($sql_str)
{
$check = preg_match('/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/', $sql_str);
if ($check) {
echo 'Illegal char';
exit;
} else {
return $sql_str;
}
} /**
* 是否是手机号码
*
* @param string $phone 手机号码
* @return boolean
*/
function isPhone($phone) {
if (strlen ( $phone ) != 11 || ! preg_match ( '/^1[3|4|5|8][0-9]\d{4,8}$/', $phone )) {
return false;
} else {
return true;
}
}
/**
* 验证字符串是否为数字,字母,中文和下划线构成
* @param string $username
* @return bool
*/
function isString($str){
if(preg_match('/^[\x{4e00}-\x{9fa5}\w_]+$/u',$str)){
return true;
}else{
return false;
}
}
/**
* 是否为一个合法的email
* @param sting $email
* @return boolean
*/
function isEmail($email){
if (filter_var ($email, FILTER_VALIDATE_EMAIL )) {
return true;
} else {
return false;
}
}
/**
* 是否为一个合法的url
* @param string $url
* @return boolean
*/
function isUrl($url){
if (filter_var ($url, FILTER_VALIDATE_URL )) {
return true;
} else {
return false;
}
}
/**
* 是否为一个合法的ip地址
* @param string $ip
* @return boolean
*/
function isIp($ip){
if (ip2long($ip)) {
return true;
} else {
return false;
}
}
/**
* 是否为整数
* @param int $number
* @return boolean
*/
function isNnumber($number){
if(preg_match('/^[-\+]?\d+$/',$number)){
return true;
}else{
return false;
}
}
/**
* 是否为正整数
* @param int $number
* @return boolean
*/
function isPositiveNumber($number){
if(ctype_digit ($number)){
return true;
}else{
return false;
}
}
/**
* 是否为小数
* @param float $number
* @return boolean
*/
function isDecimal($number){
if(preg_match('/^[-\+]?\d+(\.\d+)?$/',$number)){
return true;
}else{
return false;
}
}
/**
* 是否为正小数
* @param float $number
* @return boolean
*/
function isPositiveDecimal($number){
if(preg_match('/^\d+(\.\d+)?$/',$number)){
return true;
}else{
return false;
}
}
/**
* 是否为英文
* @param string $str
* @return boolean
*/
function isEnglish($str){
if(ctype_alpha($str))
return true;
else
return false;
}
/**
* 是否为中文
* @param string $str
* @return boolean
*/
function isChinese($str){
if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str))
return true;
else
return false;
}
/**
* 判断是否为图片
* @param string $file 图片文件路径
* @return boolean
*/
function isImage($file){
if(file_exists($file) && getimagesize($file===false)){
return false;
}else{
return true;
}
}
/**
* 是否为合法的身份证(支持15位和18位)
* @param string $card
* @return boolean
*/
function isCard($card){
if(preg_match('/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/',$card)
||preg_match('/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/'
,$card))
return true;
else
return false;
} /**
* 验证日期格式是否正确
* @param string $date
* @param string $format
* @return boolean
*/
function isDate($date,$format='Y-m-d'){
$t=date_parse_from_format($format,$date);
if(empty($t['errors'])){
return true;
}else{
return false;
}
}
PHP中一些有用的函数的更多相关文章
- python中一些有用的函数------持续更新中
strip() 函数 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. str2 = " Runoob " # 去除首尾空格 print (str2.strip()) ...
- iconv简介(1、字符串|文件字符转换:iconv用于将一种已知的字符集文件转换成另一种已知的字符集文件)(2、编程语言函数功能的相似性:iconv不仅再php中有用,而且c语言中也有用,还有linux等)
iconv简介(1.字符串|文件字符转换:iconv用于将一种已知的字符集文件转换成另一种已知的字符集文件)(2.编程语言函数功能的相似性:iconv不仅再php中有用,而且c语言中也有用,还有lin ...
- Loadrunner中web_find和web_reg_find函数的使用与区别
总结一下Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find():这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下:一.web_find( ...
- Python 函数式编程 & Python中的高阶函数map reduce filter 和sorted
1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念.wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数 ...
- 继承自NSObject的不常用又很有用的函数(2)
函数调用 Objective-C是一门动态语言,一个函数是由一个selector(SEL),和一个implement(IML)组成的.Selector相当于门牌号,而Implement才是真正的住户( ...
- PHP里10个鲜为人知但却非常有用的函数
levenshtein() 你有没有经历过需要知道两个单词有多大的不同的时候,这个函数就是来帮你解决这个问题的.它能比较出两个字符串的不同程度. 用法: <?php $str1 = " ...
- MATLAB中trapz和cumtrapz函数
这两个函数都是MATLAB中的内置函数,是基于梯形法则的数值积分公式 例如我们有函数y=x^3-2x-3,为了计算在[0,1]上的积分,可以这么做: 其中x和y分别是自变量和对应的值,trapz其实就 ...
- Python中的高阶函数与匿名函数
Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...
- ES6中的高阶函数:如同 a => b => c 一样简单
作者:Sequoia McDowell 2016年01月16日 ES6来啦!随着越来越多的代码库和思潮引领者开始在他们的代码中使用ES6,以往被认为是"仅需了解"的ES6特性变成了 ...
随机推荐
- 使用 SQLiteManager 操作 sqlite3 数据库
SQLiteManager https://github.com/misato/SQLiteManager4iOS 本人以前从事过嵌入式开发,后来转职为iOS开发,即使如此,也绝不想去碰C语言级别的面 ...
- eclipse 开发web程序,启动tomcat插件服务器的时候。部署目录在那里?
不在tomcat-home/webapps/下面, 你做一个文件上传功能看看就知道了,临时目录一般是你的工作区间workspace\.metadata\.plugins\org.eclipse.wst ...
- founder面试题
.写出正面程序支行结果: #include<iostream> using namespace std; void func(int a) { static int c = a; c++; ...
- iOS:UIToolBar控件的使用
UIToolBar控件:是经常使用的一个工具条控件,虽然在上面可以添加子控件,但是toolbar中只能添加UIBarButtonItem类型的子控件,其他子控件会被包装成这种类型的,例如UIButto ...
- 混沌数学之Arnold模型
相关软件混沌数学之离散点集图形DEMO 相关代码: class ArnoldEquation : public DiscreteEquation { public: ArnoldEquation() ...
- C语言中static的作用及C语言中使用静态函数有何好处
转自:http://www.jb51.net/article/74830.htm 在C语言中,static的作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0. 在C语言中,static ...
- HTTP响应状态码【总结】
常见的状态码 [1XX]表示[消息] [2XX]表示[成功] [3XX]表示[重定向] [4XX]表示[请求错误] [5XX]表示[服务器端错误] 200:OK.请求被正常处理 204:No Cont ...
- 反射 Reflect Modifier 修饰符工具类
在查看反射相关的Class.Field .Constructor 等类时,看到他们都有这样一个方法:getModifiers():返回此类或接口以整数编码的 Java 语言修饰符.如需要知道返回的值所 ...
- Singleton 单例模式 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- IOS之Block讲解
Block,称为代码块,它是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,但是其运行需要编译器和运行时支持,从ios4.0开始就很好的支持Block. Block很像匿名方法 ...