首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弃用:不建议使用eregi()函数

弃用:不建议使用eregi()函数
EN

Stack Overflow用户
提问于 2011-03-08 19:32:23
回答 4查看 9.4K关注 0票数 0

在我试图在服务器上设置的这些admincp文件中,也出现了相同的错误。我该怎么解决这些问题?

不建议使用的函数eregi()在第152行(第152-155行)的C:\xampp\htdocs\speedyautos\admincp\system_cls.php中被废弃()

代码语言:javascript
复制
if (!eregi("install", $_SERVER['REQUEST_URI']) && !eregi("install", $_SERVER['PHP_SELF']))
                {
                                exit("No " . TABLE_PREFIX . "db.php Present. Please run Install first");
                }

不建议使用的函数eregi()在第177行(第177-184行)的C:\xampp\htdocs\speedyautos\admincp\system_cls.php中被废弃()

代码语言:javascript
复制
if (!eregi("install", $_SERVER['REQUEST_URI']) && !eregi("install", $_SERVER['PHP_SELF']) && !eregi("upgrade", $_SERVER['PHP_SELF']) && !eregi("admincp", $_SERVER['REQUEST_URI']) && !eregi("searchjs.php", $_SERVER['REQUEST_URI']) && !eregi("locationjs.php", $_SERVER['REQUEST_URI']))
{
                register_shutdown_function("SysTime");
                if (!verifysession() && ($SystemInfo->_systemstatus['User_Signup'] != "F" || $SystemInfo->_systemstatus['Seller_Signup'] != "F" || $SystemInfo->_systemstatus['Dealer_Signup'] != "F"))
                {
                                eval("\$loginlink = \"" . $Template->gettemplate("register_link") . "\";");
                }
}

弃用:在第447行(第442至451行)的C:\xampp\htdocs\speedyautos\admincp\func.php中,中不推荐使用eregi()函数

代码语言:javascript
复制
if (!$GLOBALS['noshutdownfunc'])
                {
                                register_shutdown_function("CleanSessionTbl");
                }

} elseif (!eregi("install", $_SERVER['REQUEST_URI']) AND !eregi("install", $_SERVER['PHP_SELF']))
{
                echo "Please delete the install.php file";
                exit;
}

事先非常感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-08 19:36:44

通常,您应该使用正则表达式匹配的*系列。然而,大多数ereg调用实际上只是搜索不区分大小写。而不是

代码语言:javascript
复制
!eregi("install", $_SERVER['PHP_SELF'])

使用

代码语言:javascript
复制
stripos($_SERVER['PHP_SELF'], 'install') === false

。使用匹配,它将如下所示:

代码语言:javascript
复制
!preg_match('/install/i', $_SERVER['PHP_SELF'])
票数 3
EN

Stack Overflow用户

发布于 2011-03-08 19:36:11

eregi("install", $_SERVER['REQUEST_URI'])更改为preg_match("/install/i", $_SERVER['REQUEST_URI'])

票数 1
EN

Stack Overflow用户

发布于 2011-03-08 19:38:36

你的担心来得有点晚了。从PHP4开始,这些函数就不再受欢迎了。只是错误信息才是新的。如果这就是您所关心的,那么将error_reporting()error_level设置为php.ini

只需添加一些/regex/分隔符,就可以将几乎任何ereg()函数转换为preg_match()。但是,在您的具体示例中,只需切换参数即可使用stripos()

代码语言:javascript
复制
 stripos($_SERVER['REQUEST_URI'], "install")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5237304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档