= 1024); $_i++) {
$_size = $_size / 1024;
$_unit = $_size_units[$_i];
}
// Set the number of digits after the decimal place in the resulted file size
$_round = 2;
// If the file size is in KiloByte we do not need any decimal numbers
if ($_unit == 'KB') {
$_round = 0;
}
// Round the file size
$_formatted = round((float)$_size, $_round);
// Return the file size data
return $_formatted." ".$_unit;
}
function get_select($data = [], $field = ['id' => 'name']) {
$_result = [];
if (!empty($data)) {
foreach ($data as $val) {
foreach ($field as $item => $vale) {
$_result[$val[$item]] = $val[$vale];
}
}
}
return $_result;
}
/**
* 获取子类
*
* @param array $cate
* @param int $id
* @param string $name
*
* @return array
*/
function get_child($cate = [], $id = 0, $name = 'parent_id') {
$_arr = array();
foreach ($cate as $val) {
if ($val[$name] == $id) {
$val['child'] = get_child($cate, $val['id'], $name);
array_push($_arr, $val);
}
}
return $_arr;
}
/**
* 层级转一维数组
*
* @param array $cate
* @param string $name
*
* @return array
*/
function get_single($cate = [], $name = 'child') {
static $_arr = array();
foreach ($cate as $val) {
if (!empty($val[$name])) {
$temp = $val[$name];
get_single($temp, $name);
}
unset($val[$name]);
array_push($_arr, $val);
}
return $_arr;
}
/**
* 发送邮件
*
* @param string $address
* @param string $subject
* @param string $message
*
* @return array
* 返回格式:
* array(
* "error"=>0|1,//0代表出错
* "message"=> "出错信息"
* );
*/
function sp_send_email($address, $subject, $message) {
$email_arr = sp_get_emailinfo();
$mail = new \email\phpmailer\Phpmailer();
// 设置PHPMailer使用SMTP服务器发送Email
$mail->IsSMTP();
$mail->IsHTML(true);
// 设置邮件的字符编码,若不指定,则为'UTF-8'
$mail->CharSet = 'UTF-8';
// 添加收件人地址,可以多次使用来添加多个收件人
$mail->AddAddress($address);
// 设置邮件正文
$mail->Body = $message;
// 设置邮件头的From字段。
$mail->From = $email_arr['address'];
// 设置发件人名字
$mail->FromName = $email_arr['sender'];;
// 设置邮件标题
$mail->Subject = $subject;
// 设置SMTP服务器。
$mail->Host = $email_arr['smtp'];
// 设置SMTP服务器端口。
$port = $email_arr['smtp_port'];
$mail->Port = empty($port) ? "25" : $port;
// 设置为"需要验证"
$mail->SMTPAuth = true;
// 设置用户名和密码。
$mail->Username = $email_arr['username'];
$mail->Password = $email_arr['password'];
// 发送邮件。
if (!$mail->Send()) {
$mailerror = $mail->ErrorInfo;
return array("error" => 1, "message" => $mailerror);
} else {
return array("error" => 0, "message" => "success");
}
}
/**
* 获取当前邮箱信息
*
* @return array
*/
function sp_get_emailinfo() {
$emailarr = \think\Db::name('email')->order('id desc')->limit(1)->find();
return $emailarr;
}
/**
* 获取数组的内的值
*
* @param array $data
* @param $key
* @param string $default
*
* @return mixed|string
*/
function get_val($data = array(), $key, $default = '') {
if (empty($key) || empty($data) || !isset($data[$key])) {
return $default;
}
return $data[$key];
}
/**
* 万格式化
*
* @param $number
*
* @return float|int|string
*/
function format_ten_thousand($number) {
return \huolib\tool\StrUtils::formatNumber($number);
//return $number < 10000 ? \huolib\tool\StrUtils::formatNumber($number) : (round($number / 10000, 2) . 'W');
}