You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.3 KiB
PHP
83 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Workerman\Lib;
|
|
class Tool
|
|
{
|
|
// region 获取 UUID
|
|
public static function uuid($break = '-'): string
|
|
{
|
|
$chars = md5(uniqid(mt_rand(), true));
|
|
$chars_arr = [
|
|
substr($chars, 0, 8),
|
|
substr($chars, 8, 4),
|
|
substr($chars, 12, 4),
|
|
substr($chars, 16, 4),
|
|
substr($chars, 20, 12),
|
|
];
|
|
return implode($break, $chars_arr);
|
|
}
|
|
// endregion
|
|
|
|
// region 发送POST请求
|
|
public static function post($url, $data = [], $decode = true, $type = 'json')
|
|
{
|
|
$curl = curl_init();
|
|
curl_setopt($curl, CURLOPT_URL, $url);
|
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($curl, CURLOPT_POST, true);
|
|
if ($type === 'data') {
|
|
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
|
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
|
|
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
|
}
|
|
if ($type === 'json') {
|
|
$data_string = json_encode($data, JSON_UNESCAPED_UNICODE);
|
|
curl_setopt($curl, CURLOPT_HTTPHEADER, [
|
|
'Content-Type: application/json; charset=utf-8',
|
|
'Content-Length: ' . strlen($data_string)
|
|
]);
|
|
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
|
|
}
|
|
$r = curl_exec($curl);
|
|
curl_close($curl);
|
|
if ($decode) {
|
|
return json_decode($r, true);
|
|
} else {
|
|
return $r;
|
|
}
|
|
}
|
|
// endregion
|
|
|
|
// region 读取 Config ini
|
|
public static function ini($key, $default = false)
|
|
{
|
|
if (!$key) return $default;
|
|
$config_file_path = dirname(__DIR__, 2) . '/config.ini';
|
|
$config_info = parse_ini_file($config_file_path);
|
|
return (isset($config_info[$key])) ? $config_info[$key] : $default;
|
|
}
|
|
// endregion
|
|
|
|
// region 10位时间戳 格式化
|
|
public static function date($time = false, $format = "Y-m-d H:i:s")
|
|
{
|
|
if (!$time) $time = time();
|
|
return date($format, $time);
|
|
}
|
|
// endregion
|
|
|
|
|
|
// region 去除空格
|
|
public static function ge($str)
|
|
{
|
|
return preg_replace("/\s+/", ' ', $str);
|
|
}
|
|
// endregion
|
|
|
|
// region 毫秒时间戳
|
|
public static function time()
|
|
{
|
|
return floor(microtime(true) * 1000);
|
|
}
|
|
// endregion
|
|
} |