Verot上传类(class.upload.php v3.2)在上传和mime检查时发出错误。
if (preg_match("/^([\.-\w]+)\/([\.-\w]+)(.*)$/i", $this->file_src_mime)) {
$this->file_src_mime = preg_replace("/^([\.-\w]+)\/([\.-\w]+)(.*)$/i", '$1/$2', $this->file_src_mime);
$this->log .= '- MIME validated as ' . $this->file_src_mime . '<br />';
} else {
$this->file_src_mime = null;
}
发生错误:
警告:preg_match()[function.preg-match]:编译失败:第2616行的class.upload.php中偏移量为7的字符类中的无效范围
感谢您的建议。
答案 0 :(得分:2)
[\.-\w]
是非法的,因为\w
是一个字符类,而不是一个字符。如上所述,您的正则表达式正在查找.
到\w
范围内的字符,这没有任何意义。
我不清楚你要做什么,但你不能这样做。
我认为你可能想要.
,-
或单词字符(任何与\w
匹配的内容),在这种情况下你应该使用{{1 }}
答案 1 :(得分:2)
这已在最新版本中修复,您现在可以在Github上找到它: https://github.com/verot/class.upload.php (这里班上的创造者)