1. 程式人生 > 實用技巧 >織夢刪除專題,刪除文章時出現錯誤inc_batchup.php on line 17 如何解決?

織夢刪除專題,刪除文章時出現錯誤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