helper.php
Table of Contents
Classes
- di
- global $di; $di = new di(); $di->adapter = new adapter();
Constants
- DS = \DIRECTORY_SEPARATOR
- HELPER_DIR = __DIR__
Functions
- predis() : mixed
- redis
- predis_add_geo() : mixed
- 添加位置信息 predis_add_geo('places',[ [ 'lng'=>'116.397128', 'lat'=>'39.916527', 'title'=>'北京天安门' ], ]);
- predis_delete_geo() : mixed
- 删除位置信息
- predis_get_pager() : mixed
- 返回附近的地理位置 pr(predis_get_pager('places', 116.403958, 39.915049)); http://redisdoc.com/geo/georadius.html
- predis_geo_pos() : mixed
- 取lat lng
- array_to_pager() : mixed
- 分组分页
- get_url_remove_http() : mixed
- 返回URL路径,不含有域名部分
- get_ext_by_url() : mixed
- 取后缀 add_action("get_ext_by_url",function(&$data){ $url = $data['url']; $data['ext'] = 'pdf'; });
- get_mime() : mixed
- 通过URL取mime
- get_mime_content() : mixed
- 取mime
- get_remote_file() : mixed
- 获取远程URL内容
- remove_host() : mixed
- 移除主域名部分
- download_file() : mixed
- 下载文件 建议使用 download_file_safe
- download_file_safe() : mixed
- 下载资源文件到本地
- download_remote_file() : mixed
- 下载远程文件 global $remote_to_local_path; $remote_to_local_path = '/uploads/saved/'.date("Y-m-d");
- curl_aliyun() : mixed
- 调用阿里云
- success_data() : mixed
- 返回成功的json信息
- error_data() : mixed
- 返回失败的json信息
- get_path_info() : mixed
- pathinfo /index.php/admin/auth/index?code=2 返回 admin/auth/index 数组时返回 ['admin','auth','index']
- router_pathinfo() : mixed
- 支持pathinfo路由 未找到请用 pathinfo_not_find 函数
- make_rand_code() : mixed
- 生成数字随机数 一般用于核销 需要表名 rand_code 字段 nid code status默认0
- update_make_rand_code() : mixed
- 核销后需要释放核销码
- set_lock() : mixed
- 锁功能已替代 lock_call('k',functon(){
- get_lock() : mixed
- 获取是否锁定
- del_lock() : mixed
- 释放锁定
- json_replace() : mixed
- json数据替换
- remove_php_notes() : mixed
- 去除PHP代码注释
- online_view_office() : mixed
- 在线查看office文件
- printfs() : mixed
- 格式化输出金额 强制输出数字类型
- float_noup() : mixed
- float不进位,如3.145 返回3.14 进位的有默认round(3.145) 或sprintf("%.2f",3.145);
- float_up() : mixed
- 四舍五入
- load_xls() : mixed
- 加载xlsx load_xls([ 'file' => $xls, 'config'=>[ '序号' =>'index', ], 'title_line'=>1, 'call'=>function($i,$row,&$d){} ]);
- get_lines() : mixed
- 获取文件行数,不包空行
- get_request_top() : mixed
- 返回请求中是http还是https
- get_request_host() : mixed
- 返回请求域名及URL部分,不包含http://
- auto_jump() : mixed
- 自动跳转到https网站
- get_http_full_url() : mixed
- get_index_array_valule() : mixed
- 从数组中搜索
- gbk_substr() : mixed
- get_gbk_len() : mixed
- GBK长宽 2个字符
- get_text_c() : mixed
- 文字居中
- get_text_lr() : mixed
- 文字排版 左 中 右 左 右
- allow_cross_origin() : mixed
- 处理跨域
- to_utf8() : mixed
- csv_reader() : mixed
- csv_writer() : mixed
- lock_call() : mixed
- 基于redis锁
- lock_start() : mixed
- 开始锁
- lock_end() : mixed
- 释放锁
- compare_date() : mixed
- redis_pub() : mixed
- 发布消息 redis_pub("demo","welcome man"); redis_pub("demo",['title'=>'yourname']);
- redis_sub() : mixed
- 取订阅消息 redis_sub("demo",function($channel,$message){ echo "channel ".$channel."\n"; print_r($message); });
- send_pusher() : mixed
- think_check_sign() : mixed
- think_create_sign() : mixed
- get_str_ord() : mixed
- gz_encode() : mixed
- gz_decode() : mixed
- html_to_pdf() : mixed
- get_barcode() : mixed
- https://github.com/picqer/php-barcode-generator/blob/main/src/BarcodeGenerator.php C128 C128A C128B C128C C93 EAN13 EAN8 EAN2
- text_add_br() : mixed
- get_server_headers() : mixed
- output_js_css() : mixed
- file_parse() : mixed
- 解析文件内容
- show_number() : mixed
- 优化数量显示 1.10显示为1.1 1.05显示为1.05 1.00显示为1
- get_str_number() : mixed
- 取字符中的数字
- line_bezier() : mixed
- 贝塞尔
- num_to_chinese() : mixed
- 数字转中文,非金额读法
- get_video_time() : mixed
- 获取本地音视频时长 https://github.com/JamesHeinrich/getID3 composer require james-heinrich/getid3
- copy_dir() : mixed
- 目录 复制到 另一个目录
- unzip_tar() : mixed
- 解压zip、7z、gz、tar、bz2包 yum -y install p7zip unar unzip
- think_exec() : mixed
- exec
Constants
DS
public
mixed
DS
= \DIRECTORY_SEPARATOR
HELPER_DIR
public
mixed
HELPER_DIR
= __DIR__
Functions
predis()
redis
predis([mixed $host = '' ][, mixed $port = '' ][, mixed $auth = '' ]) : mixed
Parameters
- $host : mixed = ''
- $port : mixed = ''
- $auth : mixed = ''
predis_add_geo()
添加位置信息 predis_add_geo('places',[ [ 'lng'=>'116.397128', 'lat'=>'39.916527', 'title'=>'北京天安门' ], ]);
predis_add_geo(mixed $key[, mixed $arr = [] ]) : mixed
Parameters
- $key : mixed
- $arr : mixed = []
predis_delete_geo()
删除位置信息
predis_delete_geo(mixed $key[, mixed $arr = [] ]) : mixed
predis_delete_geo('places',[ '北京天安门', ]);
Parameters
- $key : mixed
- $arr : mixed = []
predis_get_pager()
返回附近的地理位置 pr(predis_get_pager('places', 116.403958, 39.915049)); http://redisdoc.com/geo/georadius.html
predis_get_pager(mixed $key, mixed $lat, mixed $lng[, mixed $juli = 2 ][, mixed $sort = 'ASC' ][, mixed $to_fixed = 2 ]) : mixed
Parameters
- $key : mixed
- $lat : mixed
- $lng : mixed
- $juli : mixed = 2
- $sort : mixed = 'ASC'
- $to_fixed : mixed = 2
predis_geo_pos()
取lat lng
predis_geo_pos(mixed $key[, mixed $title = [] ][, mixed $to_fixed = 6 ]) : mixed
Parameters
- $key : mixed
- $title : mixed = []
- $to_fixed : mixed = 6
array_to_pager()
分组分页
array_to_pager(mixed $arr) : mixed
Parameters
- $arr : mixed
get_url_remove_http()
返回URL路径,不含有域名部分
get_url_remove_http(mixed $url) : mixed
Parameters
- $url : mixed
get_ext_by_url()
取后缀 add_action("get_ext_by_url",function(&$data){ $url = $data['url']; $data['ext'] = 'pdf'; });
get_ext_by_url(mixed $url) : mixed
Parameters
- $url : mixed
get_mime()
通过URL取mime
get_mime(mixed $url) : mixed
Parameters
- $url : mixed
-
URL
get_mime_content()
取mime
get_mime_content(mixed $content[, mixed $just_return_ext = false ]) : mixed
Parameters
- $content : mixed
-
文件内容,可以是通过file_get_contents取到的
- $just_return_ext : mixed = false
get_remote_file()
获取远程URL内容
get_remote_file(mixed $url[, mixed $is_json = false ]) : mixed
Parameters
- $url : mixed
- $is_json : mixed = false
remove_host()
移除主域名部分
remove_host(mixed $url) : mixed
Parameters
- $url : mixed
download_file()
下载文件 建议使用 download_file_safe
download_file(mixed $url[, mixed $contain_http = false ]) : mixed
Parameters
- $url : mixed
- $contain_http : mixed = false
download_file_safe()
下载资源文件到本地
download_file_safe(mixed $url[, mixed $mimes = ['image/*', 'video/*'] ][, mixed $cons = [] ][, mixed $contain_http = false ]) : mixed
Parameters
- $url : mixed
- $mimes : mixed = ['image/*', 'video/*']
- $cons : mixed = []
- $contain_http : mixed = false
download_remote_file()
下载远程文件 global $remote_to_local_path; $remote_to_local_path = '/uploads/saved/'.date("Y-m-d");
download_remote_file(mixed $url[, mixed $path = '' ][, mixed $name = '' ]) : mixed
Parameters
- $url : mixed
- $path : mixed = ''
- $name : mixed = ''
curl_aliyun()
调用阿里云
curl_aliyun(mixed $url[, mixed $bodys = '' ][, mixed $method = 'POST' ]) : mixed
Parameters
- $url : mixed
- $bodys : mixed = ''
- $method : mixed = 'POST'
success_data()
返回成功的json信息
success_data(mixed $data[, mixed $msg = '' ]) : mixed
Parameters
- $data : mixed
- $msg : mixed = ''
error_data()
返回失败的json信息
error_data(mixed $msg) : mixed
Parameters
- $msg : mixed
get_path_info()
pathinfo /index.php/admin/auth/index?code=2 返回 admin/auth/index 数组时返回 ['admin','auth','index']
get_path_info([mixed $return_array = false ]) : mixed
Parameters
- $return_array : mixed = false
router_pathinfo()
支持pathinfo路由 未找到请用 pathinfo_not_find 函数
router_pathinfo([mixed $ns = 'app' ][, mixed $add_controller = 'controller' ][, mixed $ucfirst_controller = true ]) : mixed
Parameters
- $ns : mixed = 'app'
- $add_controller : mixed = 'controller'
- $ucfirst_controller : mixed = true
make_rand_code()
生成数字随机数 一般用于核销 需要表名 rand_code 字段 nid code status默认0
make_rand_code(mixed $node_id) : mixed
Parameters
- $node_id : mixed
update_make_rand_code()
核销后需要释放核销码
update_make_rand_code(mixed $node_id) : mixed
Parameters
- $node_id : mixed
set_lock()
锁功能已替代 lock_call('k',functon(){
set_lock(mixed $key[, mixed $exp_time = 60 ]) : mixed
},second);
Parameters
- $key : mixed
- $exp_time : mixed = 60
get_lock()
获取是否锁定
get_lock(mixed $key) : mixed
Parameters
- $key : mixed
del_lock()
释放锁定
del_lock(mixed $key) : mixed
Parameters
- $key : mixed
json_replace()
json数据替换
json_replace(mixed $json[, mixed $replace = [] ][, mixed $return_json = true ]) : mixed
Parameters
- $json : mixed
-
json格式数组或数组
- $replace : mixed = []
-
要替换的数组,如$replace = ['appid'=>'new appid'];
- $return_json : mixed = true
-
默认返回JSON格式
remove_php_notes()
去除PHP代码注释
remove_php_notes(mixed $content) : mixed
Parameters
- $content : mixed
online_view_office()
在线查看office文件
online_view_office(mixed $url) : mixed
Parameters
- $url : mixed
printfs()
格式化输出金额 强制输出数字类型
printfs(mixed &$v[, mixed $keys = [] ][, mixed $dot = 2 ]) : mixed
Parameters
- $v : mixed
- $keys : mixed = []
- $dot : mixed = 2
float_noup()
float不进位,如3.145 返回3.14 进位的有默认round(3.145) 或sprintf("%.2f",3.145);
float_noup(mixed $float_number[, mixed $dot = 2 ]) : mixed
Parameters
- $float_number : mixed
- $dot : mixed = 2
float_up()
四舍五入
float_up(mixed $float_number[, mixed $dot = 2 ][, mixed $mid_val = 5 ]) : mixed
Parameters
- $float_number : mixed
- $dot : mixed = 2
- $mid_val : mixed = 5
-
逢几进位
load_xls()
加载xlsx load_xls([ 'file' => $xls, 'config'=>[ '序号' =>'index', ], 'title_line'=>1, 'call'=>function($i,$row,&$d){} ]);
load_xls([mixed $new_arr = [] ]) : mixed
Parameters
- $new_arr : mixed = []
get_lines()
获取文件行数,不包空行
get_lines(mixed $file[, mixed $length = 40960 ]) : mixed
Parameters
- $file : mixed
- $length : mixed = 40960
get_request_top()
返回请求中是http还是https
get_request_top() : mixed
get_request_host()
返回请求域名及URL部分,不包含http://
get_request_host() : mixed
auto_jump()
自动跳转到https网站
auto_jump() : mixed
get_http_full_url()
get_http_full_url(mixed $url[, mixed $fun = 'cdn_url' ]) : mixed
Parameters
- $url : mixed
- $fun : mixed = 'cdn_url'
get_index_array_valule()
从数组中搜索
get_index_array_valule(mixed $array, mixed $key, mixed $val) : mixed
Parameters
- $array : mixed
- $key : mixed
- $val : mixed
gbk_substr()
gbk_substr(mixed $text, mixed $start, mixed $len[, mixed $gbk = 'GBK' ]) : mixed
Parameters
- $text : mixed
- $start : mixed
- $len : mixed
- $gbk : mixed = 'GBK'
get_gbk_len()
GBK长宽 2个字符
get_gbk_len(mixed $value[, mixed $gbk = 'GBK' ]) : mixed
Parameters
- $value : mixed
- $gbk : mixed = 'GBK'
get_text_c()
文字居中
get_text_c(string $str, int $len) : mixed
Parameters
- $str : string
- $len : int
get_text_lr()
文字排版 左 中 右 左 右
get_text_lr(array<string|int, mixed> $arr, int $length[, mixed $return_arr = false ]) : mixed
Parameters
- $arr : array<string|int, mixed>
- $length : int
- $return_arr : mixed = false
allow_cross_origin()
处理跨域
allow_cross_origin() : mixed
to_utf8()
to_utf8(mixed $str) : mixed
Parameters
- $str : mixed
csv_reader()
csv_reader(mixed $file) : mixed
Parameters
- $file : mixed
csv_writer()
csv_writer(mixed $file[, mixed $header = [] ][, mixed $content = [] ]) : mixed
Parameters
- $file : mixed
- $header : mixed = []
- $content : mixed = []
lock_call()
基于redis锁
lock_call(mixed $key, mixed $call[, mixed $time = 10 ]) : mixed
global $redis_lock; //锁前缀 global $lock_key;
$redis_lock = [ 'host'=>'', 'port'=>'', 'auth'=>'', ];
lock_call('k',functon()},1); 或 if(lock_start('k')){ .. lock_end(); }
Parameters
- $key : mixed
- $call : mixed
- $time : mixed = 10
lock_start()
开始锁
lock_start(mixed $key[, mixed $time = 1 ]) : mixed
Parameters
- $key : mixed
- $time : mixed = 1
lock_end()
释放锁
lock_end() : mixed
compare_date()
compare_date(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
redis_pub()
发布消息 redis_pub("demo","welcome man"); redis_pub("demo",['title'=>'yourname']);
redis_pub(mixed $channel, mixed $message) : mixed
Parameters
- $channel : mixed
- $message : mixed
redis_sub()
取订阅消息 redis_sub("demo",function($channel,$message){ echo "channel ".$channel."\n"; print_r($message); });
redis_sub(mixed $channel, mixed $call[, mixed $unsubscribe = false ]) : mixed
Parameters
- $channel : mixed
- $call : mixed
- $unsubscribe : mixed = false
send_pusher()
send_pusher([mixed $data = [] ][, mixed $channel = 'netteadmin' ][, mixed $event = 'notice' ]) : mixed
Parameters
- $data : mixed = []
- $channel : mixed = 'netteadmin'
- $event : mixed = 'notice'
think_check_sign()
think_check_sign(mixed $json_string[, mixed $key = '' ][, mixed $sign_key = 'sign' ]) : mixed
Parameters
- $json_string : mixed
- $key : mixed = ''
- $sign_key : mixed = 'sign'
think_create_sign()
think_create_sign([mixed $arr = [] ][, mixed $key = '' ]) : mixed
Parameters
- $arr : mixed = []
- $key : mixed = ''
get_str_ord()
get_str_ord(mixed $str[, mixed $is_join = false ]) : mixed
Parameters
- $str : mixed
- $is_join : mixed = false
gz_encode()
gz_encode(mixed $arr_or_str) : mixed
Parameters
- $arr_or_str : mixed
gz_decode()
gz_decode(mixed $str) : mixed
Parameters
- $str : mixed
html_to_pdf()
html_to_pdf(mixed $input_html_file, mixed $output_pdf_file[, mixed $return_cmd = false ][, mixed $exec = false ]) : mixed
Parameters
- $input_html_file : mixed
- $output_pdf_file : mixed
- $return_cmd : mixed = false
- $exec : mixed = false
get_barcode()
https://github.com/picqer/php-barcode-generator/blob/main/src/BarcodeGenerator.php C128 C128A C128B C128C C93 EAN13 EAN8 EAN2
get_barcode(mixed $code[, mixed $type = 'C128' ][, mixed $widthFactor = 2 ][, mixed $height = 30 ][, mixed $foregroundColor = [0, 0, 0] ]) : mixed
Parameters
- $code : mixed
- $type : mixed = 'C128'
- $widthFactor : mixed = 2
- $height : mixed = 30
- $foregroundColor : mixed = [0, 0, 0]
text_add_br()
text_add_br(mixed $text, mixed $w[, mixed $br = '<br>' ]) : mixed
Parameters
- $text : mixed
- $w : mixed
- $br : mixed = '<br>'
get_server_headers()
get_server_headers([mixed $name = '' ]) : mixed
Parameters
- $name : mixed = ''
output_js_css()
output_js_css([mixed $js = '' ][, mixed $css = '' ]) : mixed
Parameters
- $js : mixed = ''
- $css : mixed = ''
file_parse()
解析文件内容
file_parse(mixed $file[, mixed $zip_output_dir = '' ][, mixed $need_remove = false ]) : mixed
支持 zip pdf xml pdf读取 yum install poppler-utils odf转pdf pip install mupdf
file_parse(DIR.'/1.zip',DIR."/tmp"); file_parse(DIR.'/2.xml',DIR);
Parameters
- $file : mixed
- $zip_output_dir : mixed = ''
- $need_remove : mixed = false
Tags
show_number()
优化数量显示 1.10显示为1.1 1.05显示为1.05 1.00显示为1
show_number(mixed $num) : mixed
Parameters
- $num : mixed
get_str_number()
取字符中的数字
get_str_number(mixed $input) : mixed
Parameters
- $input : mixed
line_bezier()
贝塞尔
line_bezier([mixed $opt = [] ][, mixed $return = 'base64' ]) : mixed
Parameters
- $opt : mixed = []
- $return : mixed = 'base64'
-
blob | base64 当为blob时 header("Content-Type: image/png");echo $blob;exit; 当为base64时 echo "";
num_to_chinese()
数字转中文,非金额读法
num_to_chinese(mixed $num) : mixed
Parameters
- $num : mixed
get_video_time()
获取本地音视频时长 https://github.com/JamesHeinrich/getID3 composer require james-heinrich/getid3
get_video_time(mixed $video_local_path[, mixed $ret_time = true ]) : mixed
Parameters
- $video_local_path : mixed
- $ret_time : mixed = true
copy_dir()
目录 复制到 另一个目录
copy_dir(mixed $source, mixed $dest) : mixed
Parameters
- $source : mixed
- $dest : mixed
unzip_tar()
解压zip、7z、gz、tar、bz2包 yum -y install p7zip unar unzip
unzip_tar(mixed $input[, mixed $output_base = '' ]) : mixed
Parameters
- $input : mixed
- $output_base : mixed = ''
think_exec()
exec
think_exec(mixed $cmd[, mixed &$output = '' ][, mixed $show_err = false ]) : mixed
Parameters
- $cmd : mixed
- $output : mixed = ''
- $show_err : mixed = false