警告:preg_匹配错误(class.upload.php)

警告:preg_匹配错误(class.upload.php),php,preg-match,Php,Preg Match,Verot upload class.upload.php v3.2在上传和mime检查时提供eror if (preg_match("/^([\.-\w]+)\/([\.-\w]+)(.*)$/i", $this->file_src_mime)) { $this->file_src_mime = preg_replace("/^([\.-\w]+)\/([\.-\w]+)(.*)$/i", '$1/$2', $this->

Verot upload class.upload.php v3.2在上传和mime检查时提供eror

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 .= '-&nbsp;MIME validated as ' . $this->file_src_mime . '<br />';
                        } else {
                            $this->file_src_mime = null;
}
出现以下错误:

警告:preg_match[function.preg match]:编译失败:第2616行class.upload.php中偏移量7处的字符类中的无效范围

谢谢您的建议。

[\.-\w]是非法的,因为\w是字符类,而不是字符。如前所述,您的正则表达式正在查找范围内的字符。到\w,这毫无意义

我不清楚你想做什么,但你不能这么做

我想您可能需要.、-、或单词字符\w匹配的任何字符,在这种情况下,您应该使用[.\-\w]。

[\.-\w]是非法的,因为\w是字符类,而不是字符。如前所述,您的正则表达式正在查找范围内的字符。到\w,这毫无意义

我不清楚你想做什么,但你不能这么做


我想您可能需要与\w匹配的任何字符。、-、或单词。在这种情况下,您应该使用[.\-\w]。

这在最新版本中得到了修复,您现在可以在Github上找到:
此处类的创建者已在最新版本中修复,您现在可以在Github上找到: 此处类的创建者

-也应转义-\-或放在块[\.\w-]-也应转义-\-或放在块[\.\w-]