2024年3月30日发(作者:)

'{day}' => date("d"),

'{hour}' => date("H"),

'{min}' => date("i"),

'{sec}' => date("s"),

'{random}' => Random::alnum(16),

'{random32}' => Random::alnum(32),

'{filename}' => $suffix ? substr($fileInfo['name'], 0, strripos($fileInfo['name'], '.')) : $fileInfo['name'],

'{suffix}' => $suffix,

'{.suffix}' => $suffix ? '.' . $suffix : '',

'{filemd5}' => md5_file($fileInfo['tmp_name']),

];

$savekey = $upload['savekey'];

$savekey = str_replace(array_keys($replaceArr), array_values($replaceArr), $savekey);

$uploadDir = substr($savekey, 0, strripos($savekey, '/') + 1);

$fileName = substr($savekey, strripos($savekey, '/') + 1);

$splInfo = $file->validate(['size' => $size])->move(ROOT_PATH . '/public' . $uploadDir, $fileName);

if ($splInfo) {

$imagewidth = $imageheight = 0;

if (in_array($suffix, ['gif', 'jpg', 'jpeg', 'bmp', 'png', 'swf', 'mp4', 'mp3'])) {

$imgInfo = getimagesize($splInfo->getPathname());

$imagewidth = isset($imgInfo[0]) ? $imgInfo[0] : $imagewidth;

$imageheight = isset($imgInfo[1]) ? $imgInfo[1] : $imageheight;

}

$params = array(

'admin_id' => (int)$this->auth->id,

'user_id' => 0,

'filesize' => $fileInfo['size'],

'imagewidth' => $imagewidth,

'imageheight' => $imageheight,

'imagetype' => $suffix,

'imageframes' => 0,

'mimetype' => $fileInfo['type'],

'url' => $uploadDir . $splInfo->getSaveName(),

'uploadtime' => time(),

'storage' => 'local',

'sha1' => $sha1,

);

$attachment = model("attachment");

$attachment->data(array_filter($params));

$attachment->save();

thinkHook::listen("upload_after", $attachment);

$this->success(__('Upload successful'), null, [

'url' => $uploadDir . $splInfo->getSaveName()

]);

} else {

// 上传失败获取错误信息

$this->error($file->getError());

}

}