織夢刪除專題,刪除文章時出現錯誤inc_batchup.php on line 17 如何解決?
一、報錯提示:
Fatal error: Uncaught Error: Call to undefined function ereg_replace() in /dede/inc/inc_batchup.php:17 Stack trace: #0 /dede/archives_do.php(296): DelArc(‘870’) #1 {main} thrown in /dede/inc/inc_batchup.php on line 17
出現原因:
php版本ereg_replace() 的問題,如果使用的是php5.3以下的版本,就不會出現該錯誤。修復方法也很簡單,把所有的ereg_replace()和對應的匹配表示式都換成preg_replace()標準就好了。
在正則替換時稍有不同,
如:
ereg_replace("[/\]{1,}", '/', dirname(__FILE__) )
修改後應該為:
preg_replace("/[/\]{1,}/", '/', dirname(__FILE__) )
處理步驟:
根據提示,在/dede/inc/inc_batchup.php中搜索ereg_replace替換正則表示式,共兩處。
1、在第17行
$aid =ereg_replace("[^0-9]", '', $aid);
修改為
$aid = preg_replace("/[^0-9]/", '', $aid);
2、在第251行
1 $fname = ereg_replace("(\.$sname)$", "", $htmlfile);
修改為
1 $fname = preg_replace("/(\.$sname)$/", "", $htmlfile);
此時,再進行文章刪除, 會出現一個新的報錯提示。
二、報錯提示:
Fatal error: Uncaught Error: Call to undefined function ereg() in D:\xampp\htdocs\news\console\inc\inc_batchup.php:235 Stack trace: #0 D:\xampp\htdocs\news\console\archives_do.php(296): DelArc('80') #1 {main} thrown in D:\xampp\htdocs\news\console\inc\inc_batchup.php on line 235
處理步驟:
根據提示,在/dede/inc/inc_batchup.php中搜索ereg替換正則表示式,共兩處。
1、在第235行
if(!ereg("\?", $arcurl))
修改為
if(!preg_match("/\?/", $arcurl))
php在5.2版本以前ereg都使用正常,在5.3以後,就要用preg_match來代替ereg。所以就需要變成這樣。
原來:ereg("^[0-9]*$",$page)變成:preg_match("/^[0-9]*$/",$page)
if(!preg_match("/\?/", $arcurl))
參考資料:
php5.3提示Function ereg() is deprecated Error問題解決方法 https://www.jb51.net/article/57368.htm
Windows下最直接最簡單檢視PHP版本的方法https://blog.csdn.net/u013451157/article/details/78755225