上次错误
This commit is contained in:
@@ -76,35 +76,6 @@ class AdminController extends Controller
|
||||
return 'assets/uploads/' . $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理多文件上传(name="gallery[]"),返回相对站点根路径数组。
|
||||
* 逐张复用 uploadFile 的校验逻辑(真实图像/体积上限/类型白名单/SVG 消毒),
|
||||
* 任一文件失败不影响其余文件。
|
||||
*/
|
||||
protected function uploadFiles(string $key): array
|
||||
{
|
||||
if (empty($_FILES[$key]['tmp_name']) || !is_array($_FILES[$key]['tmp_name'])) return [];
|
||||
$names = $_FILES[$key]['name'] ?? [];
|
||||
$errors = $_FILES[$key]['error'] ?? [];
|
||||
$sizes = $_FILES[$key]['size'] ?? [];
|
||||
$out = [];
|
||||
foreach ($_FILES[$key]['tmp_name'] as $i => $tmp) {
|
||||
if (empty($tmp)) continue;
|
||||
// 桥接到单文件校验逻辑
|
||||
$_FILES['_multi_tmp'] = [
|
||||
'name' => $names[$i] ?? 'x.bin',
|
||||
'type' => '',
|
||||
'tmp_name' => $tmp,
|
||||
'error' => $errors[$i] ?? UPLOAD_ERR_OK,
|
||||
'size' => $sizes[$i] ?? 0,
|
||||
];
|
||||
$rel = $this->uploadFile('_multi_tmp');
|
||||
unset($_FILES['_multi_tmp']);
|
||||
if ($rel) $out[] = $rel;
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
/** 消毒 SVG:移除脚本、事件处理器与危险协议,阻断存储型 XSS */
|
||||
protected function sanitizeSvg(string $svg): string
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user