Files
juipphp/fastphp/func/common.php
“wanyongkang” 95200f1c5a http上线
2023-12-26 16:37:09 +08:00

246 lines
6.9 KiB
PHP

<?php
/*
* @Descripttion:
* @version:
* @Author: kangkang
* @Date: 2020-09-30 17:32:46
* @LastEditors: “wanyongkang” “937888580@qq.com”
* @LastEditTime: 2023-12-26 16:29:17
*/
/**
* 浏览器友好的变量输出
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串
* @param string $label 标签 默认为空
* @param boolean $strict 是否严谨 默认为true
* @return void|string
*/
function dd($var, $echo = true, $label = null, $strict = true)
{
echo (echoBase($var, $echo = true, $label = null, $strict = true));
exit;
}
/**
* 浏览器友好的变量输出
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串
* @param string $label 标签 默认为空
* @param boolean $strict 是否严谨 默认为true
* @return void|string
*/
function dump($var, $echo = true, $label = null, $strict = true)
{
echo (echoBase($var, $echo = true, $label = null, $strict = true));
}
function echoBase($var, $echo = true, $label = null, $strict = true)
{
$label = ($label === null) ? '' : rtrim($label) . ' ';
if (!$strict) {
if (ini_get('html_errors')) {
$output = print_r($var, true);
$output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
} else {
$output = $label . print_r($var, true);
}
} else {
ob_start();
var_dump($var);
$output = ob_get_clean();
if (!extension_loaded('xdebug')) {
$output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
$output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
}
}
return $output;
}
//接口返回函数
function result($data = [], $msg = '', $code = 10000)
{
$info = [
'Code' => $code,
'msg' => $msg,
'data' => $data,
];
echo json_encode($info);
die;
}
/**
* @description: 导出csv
* @param {*}
* @return {*}
*/
function exportToCsv($fileName = '', $headArr = [], $data = []){
ini_set('memory_limit','1024M'); //设置程序运行的内存
ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限
@ob_end_clean(); //清除内存
ob_start();
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
header('Expires:0');
header('Pragma:no-cache');
$fp=fopen('php://output','w');
fputcsv($fp,$headArr);
$index = 0;
foreach ($data as $item) {
if($index==1000){ //每次写入1000条数据清除内存
$index=0;
ob_flush();//清除内存
flush();
}
$index++;
fputcsv($fp,$item);
}
fclose($fp);
@ob_flush();
flush();
ob_end_clean();
return;
}
function realname($data){
header('Content-type:text/html;charset=utf-8');
//配置您申请的appkey
$apicode = "8105f0cb8fe4494590af07bea85db6f1";
$url = "https://api.yonyoucloud.com/apis/dst/matchIdentity/matchIdentity";
$method = "POST";
$params = array(
"idNumber" => $data['id_code'],
"userName" => $data['name'],
);
$header = array();
$header[] = "apicode:".$apicode;
$header[] = "content-type:application/json";
$header[] = "Content-Type:application/json";
$content = linkcurl($url,$method,$params,$header);
$result = json_decode($content,true);
if($result){
if($result['success']){
// print_r($result);
return true;
}else{
return false;
}
}else{
echo "请求失败";die;
}
}
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @return string
*/
function linkcurl($url,$method,$params=[],$header=[],$header_show =1){
$httpInfo = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, $header_show); //是否显示头信息
if (1 == strpos("$".$url, "https://"))
{
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if($method == "POST" ){
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS, $params );
}else if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.http_build_query($params) );
}
$response = curl_exec( $ch );
if ($response === FALSE) {
//echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}
//将utf-8字符串转换成字节
function cToMd5($str){
$md5hex=md5($str);
$len=strlen($md5hex)/2;
$md5raw="";
for($i=0;$i<$len;$i++) {
$md5raw=$md5raw . chr(hexdec(substr($md5hex,$i*2,2)));
}
$keyMd5=base64_encode($md5raw);
return $keyMd5;
}
//获取IP地址
function getIp()
{
if (isset($_SERVER["HTTP_CLIENT_IP"]) && $_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]) && $_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
if (isset($_SERVER["REMOTE_ADDR"]) && $_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")) {
$ip = $_SERVER["REMOTE_ADDR"];
} else {
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],
"unknown")
) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
}
}
}
return ($ip);
}
//格式化http接口的请求函数
function formatHttpRequert($data){
//1001
//f031e77c3055ade88b1db389e85a973a
$time = time();
$data['appid'] = 1001;
$data['timestamp'] = $time;
ksort($data);
$http_request = http_build_query($data);
$http_request =str_replace("%2C", ",", $http_request);
$sign = md5($http_request.'f031e77c3055ade88b1db389e85a973a');
$data ['appid'] = '1001';
$data ['timestamp'] = $time;
$data ['sign'] = $sign;
return $data;
}