记录PHP常用函数

PHP常用函数记录

  1. //随机获取电话号
function generate_name( $count, $type="array", $white_space=false)
{$arr = array(130,131,132,133,134,135,136,137,138,139,144,147,150,151,152,153,155,156,157,158,159,176,177,178,180,181,182,183,184,185,186,187,188,189,);for($i = 0; $i < $count; $i++) {$tmp[] = $arr[array_rand($arr)].' '.mt_rand(1000,9999).' '.mt_rand(1000,9999);}if($type==="string"){$tmp=json_encode($tmp);//如果是字符串,解析成字符串}if($white_space===true){$tmp=preg_replace("/\s*/","",$tmp);}return $tmp;
}
  1. //上传文件函数,可以下载文件
function upload_file($base_img_url) {$end_name = substr($base_img_url,strrpos($base_img_url,'.'));$img_data = ['.jpg'=>1,'.jpeg'=>1,'.gif'=>1,'.png'=>1,'.bmp'=>1];//支持这些常规图片$if_have_img = isset($img_data[$end_name])?1:0;if($if_have_img == 0){$end_name = '.jpg';//如果是其他格式则默认为jpg}$img_str = file_get_contents($base_img_url);$imgbase64 = base64_encode($img_str);$imgbase64 = 'data:image/jpeg;base64,'.$imgbase64;$url1 = date("YmdHis").mt_rand(1000,9999).$end_name;$base64_string= explode(',', $imgbase64); //截取data:image/png;base64, 这个逗号后的字符$data1 = base64_decode(",".$base64_string[1]);//对截取后的字符使用base64_decode进行解码$new_data = date('Ymd',time());//文件上传$path = IMAGE_ROOT . "/imgs/shop/script/";//改成自己要上传的目录if(!is_dir($path)){mkdir($path,0777,true);}file_put_contents($path.$url1, $data1); //写入文件并保存$up_url = "/shop/script/".$url1;return $up_url;//改成自己要上传的目录
}
  1. //获取指定长度的随机字符串
function randomkeys($length)
{$key = '';$pattern = '1234567890abcdefghijklomnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';for($i=0;$i<$length;$i++){$key .= $pattern{mt_rand(0,35)}; //生成php随机数}return $key;
}
  1. //获取中文的首字母
//获取中文的首字母public function getFirstChar($s){$s0 = mb_substr($s,0,1,'utf-8');//获取名字的姓$s = mb_convert_encoding($s0,'gb2312','UTF-8' );//将UTF-8转换成GB2312编码(这里用mb_convert_encoding函数,iconv()函数有点bug)if(ord($s0)>128){//汉字开头,汉字没有以U、V开头的$asc=ord($s{0})*256+ord($s{1})-65536;if($asc>=-20319 and $asc<=-20284)return "A";if($asc>=-20283 and $asc<=-19776)return "B";if($asc>=-19775 and $asc<=-19219)return "C";if($asc>=-19218 and $asc<=-18711)return "D";if($asc>=-18710 and $asc<=-18527)return "E";if($asc>=-18526 and $asc<=-18240)return "F";if($asc>=-18239 and $asc<=-17760)return "G";if($asc>=-17759 and $asc<=-17248)return "H";if($asc>=-17247 and $asc<=-17418)return "I";if($asc>=-17417 and $asc<=-16475)return "J";if($asc>=-16474 and $asc<=-16213)return "K";if($asc>=-16212 and $asc<=-15641)return "L";if($asc>=-15640 and $asc<=-15166)return "M";if($asc>=-15165 and $asc<=-14923)return "N";if($asc>=-14922 and $asc<=-14915)return "O";if($asc>=-14914 and $asc<=-14631)return "P";if($asc>=-14630 and $asc<=-14150)return "Q";if($asc>=-14149 and $asc<=-14091)return "R";if($asc>=-14090 and $asc<=-13319)return "S";if($asc>=-13318 and $asc<=-12839)return "T";if($asc>=-12838 and $asc<=-12557)return "W";if($asc>=-12556 and $asc<=-11848)return "X";if($asc>=-11847 and $asc<=-11056)return "Y";if($asc>=-11055 and $asc<=-10247)return "Z";}elseif(ord($s)>=48 and ord($s)<=57){//数字开头switch(iconv_substr($s,0,1,'utf-8')){case 1:return "Y";case 2:return "E";case 3:return "S";case 4:return "S";case 5:return "W";case 6:return "L";case 7:return "Q";case 8:return "B";case 9:return "J";case 0:return "L";}}else if(ord($s)>=65 and ord($s)<=90){//大写英文开头return substr($s,0,1);}else if(ord($s)>=97 and ord($s)<=122){//小写英文开头return strtoupper(substr($s,0,1));}else{return iconv_substr($s0,0,1,'utf-8');//中英混合的词语提取首个字符即可}}

5.加密函数

public function encrypt($string,$operation,$key=''){$key = md5($key);$key_length = strlen($key);$string = $operation == 'D' ? base64_decode($string) : substr(md5($string.$key),0,8).$string;$string_length = strlen($string);$rndkey = $box =array();$result = '';for ( $i=0; $i<=255; $i++){$rndkey[$i] = ord($key[$i%$key_length]);$box[$i] = $i;}for( $j=$i=0; $i<256; $i++){$j = ($j+$box[$i]+$rndkey[$i])%256;$tmp = $box[$i];$box[$i] = $box[$j];$box[$j] = $tmp;}for( $a=$j=$i=0; $i<$string_length; $i++){$a = ( $a+1 ) % 256;$j = ( $j+$box[$a] ) % 256;  $tmp = $box[$a];$box[$a] = $box[$j];$box[$j] = $tmp;$result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256]));}if($operation=='D'){if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8)){return substr($result,8);}else{return'';}}else{return str_replace('=','',base64_encode($result));}}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部