Helper帮助类

创建文件夹

创建 /cache/exception/a/b/c/d

use Timo\Helper;
use Timo\Loader;

$path = Loader::getFilePath('::cache/exception/a/b/c/d');
Helper::mkFolders($path, 0755);

根据文件名创建文件

use Timo\Helper;
use Timo\Loader;

//$path = E:\wwwroot\TimoSNS\cache\exception\a\b\c\d\404.log
$path = Loader::getFilePath('::cache/exception/a/b/c/d/404.log');
Helper::mkFile($path, 0755);

如果cache/exception/a/b/c/d/这些目录都没有,mkFile会自动创建这些文件夹

生成四层亿级路径

use Timo\Helper;

$path = Helper::getFourPath(123456789, 'thumb');
echo $path;
//输出:thumb/123/45/67/89/

$path = Helper::getFourPath(100000009, 'thumb');
echo $path;
//输出:thumb/100/00/00/09/

获取文件扩展名

Helper::getFileExt($filename);

生成随机数

生成16位随机字符串

Helper::random(16)

生成9位数字

Helper::random(9, true)

字符串加密解密算法

use Timo\Helper;

$str = 'TimoPHP';
echo $str . '<br>';
$auth_str = Helper::authCode($str, 'ENCODE');
echo $auth_str . '<br>';
$auth_str_decode =  Helper::authCode($auth_str);
echo $auth_str_decode . '<br>';

//输出如下:

//TimoPHP
//e3abtrJWlicKj/1LoHFmg6vn7ICfx/3+ELAXgt4jWEfAeHMv
//TimoPHP

传入加密字符串key

$str = 'TimoPHP';
$key = '1Cr8h7h93leD8z6sqD46';
//加密
$auth_str = Helper::authCode($str, 'ENCODE', $key);

//解密
$original_str = Helper::authCode($auth_str, 'DECODE', $key);

//加密解密的时候一定要用相同的key

加密字符串过期时间

默认是不过期的

//设置加密字符串过期时间为5秒

$str = 'TimoPHP';
$key = '1Cr8h7h93leD8z6sqD46';

//加密
$auth_str = Helper::authCode($str, 'ENCODE', $key, 5);

//这里我们等待5秒钟,然后再解密,会发现返回空字符串,说明之前加密的字符串已过期
sleep(5);
//解密
$original_str = Helper::authCode($auth_str, 'DECODE', $key);