Source code of filesite.io. https://filesite.io
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

97 lines
2.6 KiB

<?php
/**
* 常用的处理HTML的方法
*/
Class Html {
//获取js、css文件的修改时间作版本号
public static function getStaticFileVersion($filename, $type = 'css') {
$ver = 0;
$filepath = '';
switch ($type) {
case 'css':
$filepath = __DIR__ . '/../www/css/' . $filename;
break;
default:
$filepath = __DIR__ . '/../www/js/' . $filename;
break;
}
if (!empty($filepath) && file_exists($filepath)) {
$fp = fopen($filepath, 'r');
$fstat = fstat($fp);
fclose($fp);
$ver = $fstat['mtime'];
}
return $ver;
}
public static function mb_substr($string, $start, $length) {
if (mb_strlen($string, 'utf-8') <= $length) {return $string;}
return mb_substr($string, $start, $length, 'utf-8') . "...";
}
public static function getShareVideosPlatform($url) {
$platform = '-';
if (preg_match("/douyin\.com/i", $url)) {
$platform = '抖音';
}else if (preg_match("/kuaishou\.com/i", $url)) {
$platform = '快手';
}else if (preg_match("/ixigua\.com/i", $url)) {
$platform = '西瓜视频';
}else if (preg_match("/b23\.tv/i", $url) || preg_match("/bilibili\.com/i", $url)) {
$platform = 'B站';
}
return $platform;
}
//根据ctime进行排序,默认按时间先后倒序排列
public static function sortFilesByCreateTime($files, $way = 'desc') {
$ctimes = array();
foreach($files as $id => $item) {
$ctimes[$id] = $item['fstat']['ctime'];
}
if ($way == 'desc') {
arsort($ctimes, SORT_NUMERIC);
}else {
asort($ctimes, SORT_NUMERIC);
}
$sorted = array();
foreach($ctimes as $id => $ctime) {
array_push($sorted, $files[$id]);
}
return $sorted;
}
//生成GA统计代码
public static function getGACode() {
if (!empty(FSC::$app['config']['debug'])) {return '';}
$msid = !empty(FSC::$app['config']['GA_MEASUREMENT_ID']) ? FSC::$app['config']['GA_MEASUREMENT_ID'] : '';
if (empty($msid)) {return '';}
$gacode = <<<eof
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id={$msid}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{$msid}');
</script>
eof;
return $gacode;
}
}