123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- <?php
- /**
- * 字符串转数组
- *
- * @param string $string 字符串
- *
- * @return array
- *
- */
- function str_to_array($string) {
- return is_string($string) ? explode(',', $string) : $string;
- }
- /**
- * 数组转字符串
- *
- * @param array $array 字符串
- *
- * @return string
- *
- */
- function array_to_str($array) {
- return is_array($array) ? implode(',', $array) : $array;
- }
- /**
- * 转化数据库保存图片的文件路径,为可以访问的url
- *
- * @param string $url 文件路径,数据存储的文件相对路径
- *
- * @return string 图片链接
- */
- function huo_get_down_url($url) {
- if (0 === strpos($url, "http") || 0 === strpos($url, "https") || 0 === strpos($url, "itms-services")) {
- return $url;
- }
- return DOWNSITE.$url;
- }
- /**
- * 获取首字符缩写
- *
- * @param string $str
- *
- * @return string
- */
- function huo_initials($str) {
- if (empty($str)) {
- return '';
- }
- $_string = '';
- $_name_arr = explode(' ', $str);
- foreach ($_name_arr as $_letter) {
- if (empty($_letter)) {
- continue;
- }
- $_string .= $_letter{0};
- }
- return strtolower($_string);
- }
- /**
- * 格式化文件大小
- *
- * @param int $byte
- *
- * @return string
- */
- function huo_format_file_size($byte) {
- // If the file size is zero return a blank result
- $_size = $byte;
- if (!$_size || $_size < 0) {
- return '0 B';
- }
- // If the file size is smaller than 1KB
- if ($_size <= 1024) {
- return '1 KB';
- }
- // Set an array of all file size units
- $_size_units = Array(
- 'B',
- 'KB',
- 'MB',
- 'GB',
- 'TB',
- 'PB',
- 'EB'
- );
- // Set the initial unit to Bytes
- $_unit = $_size_units[0];
- // Loop through all file size units
- for ($_i = 1; ($_i < count($_size_units) && $_size >= 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<br>
- * 返回格式:<br>
- * array(<br>
- * "error"=>0|1,//0代表出错<br>
- * "message"=> "出错信息"<br>
- * );
- */
- 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');
- }
|