沃梦达 / 编程问答 / php问题 / 正文

上传错误preg_Match()

class.upload error preg_match()(上传错误preg_Match())

本文介绍了上传错误preg_Match()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是class.upload0.32版,它在我的本地主机服务器上运行正常,但在我的Web服务器上无法运行。

Web服务器日志文件显示此错误:

PHP Warning:  preg_match(): Compilation failed: invalid range in character class at offset 7 in.

Web服务器上的PHP版本:5.4.39

本地主机上的PHP版本:5.5.15

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

推荐答案

您必须转义破折号:

/^([.-w]+)/([.-w]+)(.*)$/i

或将其放在Character类的结尾或开头

/^([-.w]+)/([-.w]+)(.*)$/i

并且点不需要转义,也不需要区分大小写:

/^([_.w]+)/([-.w]+)(.*)$/

这篇关于上传错误preg_Match()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:上传错误preg_Match()

基础教程推荐