代码拉取完成,页面将自动刷新
package utils
import (
"fmt"
"os"
"path"
"strconv"
"time"
"strings"
)
// Str 字符处理类
type urls struct{}
// CurrTime 当前时间处理
func Url() *urls {
return &urls{}
}
// FileExists查询文件是否存在
func (u *urls) FileExists(filepath string) bool {
_, err := os.Stat(filepath)
return err == nil
}
// GetMonthZero 获取当前月份,不是2位的,则添加0
func (u *urls) GetMonthZero() string {
month := int(time.Now().Month())
return u.GetPlusZero(month)
}
// 生成随机时间的文件名
func(u *urls) GetTimeStr() string {
return strconv.FormatInt(time.Now().UnixNano(), 10)
}
// GetPlusZero不是2位的则添加0
func (u *urls) GetPlusZero(sum int) string {
if sum < 10 && sum > 0 {
return "0" + strconv.Itoa(sum)
}
return strconv.Itoa(sum)
}
// GetFilePath 获取新生成的文件路径
// 目录不存在时创建
func(u *urls) GetFilePath() (string, bool) {
tm := time.Now()
filepath := fmt.Sprintf("%s/%d/%s/%s/", "./upload", tm.Year(), u.GetMonthZero(), u.GetPlusZero(tm.Day()))
if strings.Contains(filepath, ".") {
// 这步会去掉最后的一个/,所以在返回时加上
filepath = path.Dir(filepath)
}
if _, err := os.Stat(filepath); os.IsNotExist(err) {
//不存在 创建
if err := os.MkdirAll(filepath, os.ModePerm); err != nil {
return "", false
}
}
return filepath + "/", true
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。