包含任何方法來增加包含一些相同代碼的 PHP 文件而不會出現錯誤:Fatal error: Cannot redeclare Feed() (previously declared in ...我有一個 php 文件 XML 解析來從網站獲取信息。然后我有第二個 PHP 文件,其代碼與第 1 號中的代碼相同,+ 額外刪除該輸出以使其更易于理解。因此,您可以看到修改后的文本大而清晰,并在下面獲得更詳細的信息。問題是當我使用相同的代碼包含 PHP 文件時出現錯誤。<h1 class="status">Status:<span class="open"><?php include 'open-closed.php'?></span></h1><p class="info"><?php include 'status.php' ?></p>open-closed.php 具有與 status.php 中完全相同的代碼,但還有一些額外的代碼。狀態.php $url = ('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604'); function Feed($url) { $feed = simplexml_load_file($url) or die('Can not connect to server'); $result = array(); foreach ($feed->channel->item as $content) { array_push($result, $content); } return $result; } $title = 'Ev 134'; foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f ) { if (strpos($f->title, $title) !== false) echo $f->description; }開閉.php$url = ('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604');function Feed($url) { $feed = simplexml_load_file($url) or die('Can not connect to server'); $result = array(); foreach ($feed->channel->item as $content) { array_push($result, $content); } return $result;}$title = 'Ev 134'; foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f ) { if (strpos($f->title, $title) !== false)$green_color = 'green';$red_color = 'red';$closed_text = 'closed'; $exception_text = 'could be closed'; if (strpos($f->title, $title) !== false){ if(strpos($f->description, $closed_text) !== false){ echo (strpos($f->description, $exception_text) === false) ? '<span style="color:'.$red_color.'">STENGT</span>' : '<span>?PEN</span>'; }else{ echo '<span>?PEN</span>'; } } }
1 回答

四季花海
TA貢獻1811條經驗 獲得超5個贊
您可以使用 PHP 的function_exists()
函數來檢查一個函數是否已經定義,如果是則跳過重新定義它。
但這不是最好的解決方案,IMO。相反,移動Feed
到一個單獨的文件,如feed.php
,并使用require_once
將該文件包含在其他兩個文件中。這樣,當您更新函數時,只需要在一個地方進行更新。您可以require_once
根據需要多次調用,它的“一次”部分意味著 PHP 只會在第一次遇到該文件時實際包含該文件。
- 1 回答
- 0 關注
- 155 瀏覽
添加回答
舉報
0/150
提交
取消