亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有什么辦法可以兩次包含相同的php文件?

有什么辦法可以兩次包含相同的php文件?

PHP
繁花不似錦 2022-07-29 09:37:04
包含任何方法來增加包含一些相同代碼的 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 只會在第一次遇到該文件時實際包含該文件。


查看完整回答
反對 回復 2022-07-29
  • 1 回答
  • 0 關注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號