2014-11-23 2 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-]' –

ответ

2

[\.-\w] является незаконным, потому что \w - это класс символов, а не символ. Как написано, ваше регулярное выражение ищет символы в диапазоне . до \w, что не имеет смысла.

Мне непонятно, что вы пытаетесь сделать, но вы не можете этого сделать.

Я думаю, что вы может хотите ., -, или слово символов (что-нибудь соответствует по \w), в этом случае вы должны использовать [.\-\w].

Смежные вопросы