2014-11-23 118 views
1

Verot上傳類(class.upload.php v3.2)在上傳和MIME檢查時會出現錯誤。警告:preg_match錯誤(class.upload.php)

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; 
} 

這發生的錯誤:

Warning: preg_match() [function.preg-match]: Compilation failed: invalid range in character class at offset 7 in class.upload.php on line 2616

感謝您的建議。

+0

'-'應該進行轉義(這裏的類的創建者)太 - '\ - '或者放到底塊'[\。\ w-]' – 2014-11-23 18:06:16

回答

2

[\.-\w]是非法的,因爲\w是一個字符類,而不是一個字符。正如所寫的,你的正則表達式正在尋找範圍從.\w的字符,這是沒有意義的。

我不清楚你在做什麼,但你不能這樣做。

我想你可能.-,或單詞字符(任何由\w匹配),在這種情況下,你應該使用[.\-\w]