|
@@ -278,10 +278,16 @@ class DeepSeekService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 获取原始文件名(不含扩展名)作为script_name
|
|
// 获取原始文件名(不含扩展名)作为script_name
|
|
|
|
|
+ // 注意:不能用pathinfo()取FILENAME,PHP在部分Linux环境下对中文等
|
|
|
|
|
+ // 多字节文件名会解析为空(PHP Bug #47954 / #30014),这里改为按扩展名
|
|
|
|
|
+ // 字节安全剥离,不依赖服务器locale设置
|
|
|
$originalName = $file->getClientOriginalName();
|
|
$originalName = $file->getClientOriginalName();
|
|
|
- $script_name = pathinfo($originalName, PATHINFO_FILENAME);
|
|
|
|
|
-
|
|
|
|
|
- if (!$script_name) {
|
|
|
|
|
|
|
+ $extension = $file->getClientOriginalExtension();
|
|
|
|
|
+ $script_name = $extension !== '' && substr($originalName, -strlen($extension) - 1) === '.' . $extension
|
|
|
|
|
+ ? substr($originalName, 0, -strlen($extension) - 1)
|
|
|
|
|
+ : $originalName;
|
|
|
|
|
+
|
|
|
|
|
+ if ($script_name === '') {
|
|
|
Utils::throwError('20003:未识别到剧本名,请联系管理员');
|
|
Utils::throwError('20003:未识别到剧本名,请联系管理员');
|
|
|
}
|
|
}
|
|
|
|
|
|