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特性变成了 ...
随机推荐
- ubuntu 键盘布局修改
键盘打不出 | 符号 sudo dpkg-reconfigure keyboard-configuration 改为标准的罗技键盘
- easyui datatimebox 取值和赋值
1.取值 var time = $('.easyui-datetimebox').datetimebox('getValue'); 全部代码如下: <script type="text ...
- [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)
reference : http://blog.csdn.net/Abyss_sliver/article/details/77621404 好久没有在Linux环境下进行开发了,比较常用的还是win ...
- 在Mac OS X上配置Apache2
转载:http://www.cnblogs.com/yuanyq/p/3435022.html#2821339 最近一段时间在开发面向移动设备的网页,而且是静态网页.所以很需要一个HTTP服务器,简单 ...
- IOS学习笔记02---语言发展概述,计算机语言简介.
IOS学习笔记02---语言发展概述,计算机语言简介. ------------------------------------------------------------------------ ...
- WebSettings 文档 API 翻译 常用设置
. setDefaultFontSize(int size) Sets the default font size. The default is 16. setDefaultTextEncodin ...
- Kafka集群环境搭建(2.9.2-0.8.2.2)
Kafka是一个分布式.可分区.可复制的消息系统.Kafka将消息以topic为单位进行归纳:Kafka发布消息的程序称为producer,也叫生产者:Kafka预订topics并消费消息的程序称为c ...
- 给 TextBlock 加 ToolTip
<TextBlock ToolTip="{Binding RelativeSource={RelativeSource Self},Path=Text}" Text=&quo ...
- Ubuntu 或 UbuntuKyLin14.04 Unity桌面側边栏和顶层菜单条显示异常解决方法
近期一直想要回到Linux以下去开发,正好Ubuntu14.04桌面版系统在近期公布,所以趁此机会下载了最新版的Ubuntu版本号.并在虚拟机VMware软件上面搭建一改Ubuntu系统,因为眼下有适 ...
- 隐马尔可夫模型HMM与维特比Veterbi算法(一)
隐马尔可夫模型HMM与维特比Veterbi算法(一) 主要内容: 1.一个简单的例子 2.生成模式(Generating Patterns) 3.隐藏模式(Hidden Patterns) 4.隐马尔 ...