检查文件是否存在,不存在则创建
/**
* [create_file 创建文件]
* @param string $filename [文件名]
* @return [type][true|false]
*/
function createFile(string $filename) {
if (file_exists($filename)) {
return false;
}
// 判断文件类型是否为目录, 如果不存在则创建
if (!file_exists(dirname($filename))) {
mkdir(dirname($filename), 0777, true);
}
if(touch($filename)) {
return true;
}
return false;
}
检查文件夹是否存在,不存在则创建
//没有则创建文件目录
function mkdirs($dir, $mode = 0777)
{
if (is_dir($dir) || @mkdir($dir, $mode)) return TRUE;
if (!mkdirs(dirname($dir), $mode)) return FALSE;
return @mkdir($dir, $mode);
}
CURL的get请求
/**
* curl get网络请求
* @param $url
* @return bool|string
*/
function http_request_get($url)
{
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 1);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
return $data;
}
CURL的post请求
/**
* curl http post请求接口
*/
function http_request($url, $data = array(), $header = array(), $out_header = false)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$out_header ? curl_setopt($curl, CURLOPT_HEADER, 1) : '';
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
isset($header) ? curl_setopt($curl, CURLOPT_HTTPHEADER, $header) : '';
// curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));
// POST数据
curl_setopt($curl, CURLOPT_POST, 1);
// 把post的变量加上
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
file_get_contents方式post请求
/**
* 发送post请求
*/
function send_post($url, $post_data) {
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/json; charset=utf-8',
'content' => json_encode($post_data),
'timeout' => 15 * 60 // 超时时间(单位:s)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
写入日志
/**
* [logg 写入日志]
* @param string $name [日志标题]
* @param string/array $data [打印数据]
* @return [type][true|false]
*/
function Logg($name='', $data=''){
$filename = 'public/debug.log';
createFile($filename);
$time = date('Y-m-d H:i:s', time());
$data = array(
'title' => $name,
'create_time' => time(),
'data' => $data
);
$data = 'TIME: ' . $time .' | '. json_encode($data) . ' | ' . PHP_EOL;
file_put_contents($filename, $data, FILE_APPEND);
return true;
}
获取微信access_token
function accessToken() {
$url = 'https://api.weixin.qq.com/cgi-bin/token';
$grant_type = 'client_credential';
$appid = APPID;
$secret = SOURCEID;
$url = $url . "?grant_type={$grant_type}&appid={$appid}&secret={$secret}";
$result = http_request_get($url);
$result = substr($result,strpos($result,'{'));
$result = json_decode($result,true);
if(empty($result['errcode'])
|| !empty($result['access_token']))
{
return $result['access_token'];
} else {
return false;
}
}
生成随机字符(数字+字母)-6位
echo base_convert(mt_rand(100000000,999999999),10,36);
评论