解決PHP的include帶參數的有關問題

來源:互聯網
上載者:User
解決PHP的include帶參數的問題

php的include可以載入一個外部php檔案,其參數是一個檔案名稱,既然是檔案名稱,就不能帶參數了。

php中,如果include載入的檔案一定要帶參數,就只有一種辦法,即這個參數是一個全路徑的URL地址。

例如:

include "http://localhost/aaa.php?id=1"; //正確
include "aaa.php?id=1"; //錯誤

其實include本義就只是用來載入一個外部檔案到當前檔案中來的,並不解釋其中的代碼。因此帶參數看上去似乎沒有意義。
比如以下代碼(1.php):
$a="123";
include "aaa.php";

想要用aaa.php接收變數$a的值,只需要在aaa.php中直接調用即可,比如aaa.php的代碼如下寫:
echo $a;

這樣執行1.php,即會輸出$a的值:123

然而,有問題就肯定是有需求,我們既然要求include帶參數,就肯定不僅僅是想在被載入的檔案中使用載入者檔案中的變數這麼簡單。

現在的需求是:
 希望根據不同的參數,include同一個檔案中的不同程式碼片段。

 基於上述要求,我的解決方案是:
 把被載入的檔案(假設為aaa.php)中的代碼寫成function,例如:
 function abc($x)
 {
  $returnValue;
  switch($x)
  {
   case 1:
    $returnValue="蘋果";break;
   case 2:
    $returnValue="香蕉";break;
   case 3:
    $returnValue="楊桃";break;
  }
 }

 然後在主檔案(假設為1.php)中這樣寫:

 include "aaa.php";
 echo abc(1); //輸出:蘋果
 echo abc(2); //輸出:香蕉
 echo abc(3); //輸出:楊桃

 其實照上面這種方法,說到底,與前面說的直接使用主檔案中的變數,並沒有什麼大的區別,但是這樣做的好處是,不管你主檔案中的變數如何變化,aaa.php中的這個function都不需要改動,並且也可以在別的檔案中繼續被include來使用。

 這樣一來,直接使用主檔案中的變數 與 做成函數放在主檔案中調用,兩者之間的區別,已經顯而易見了!

 原創:千雪網路 http://www.ayinsky.com

以下是我自己使用中遇到的一些經驗的總結:使用readfile(“http://XXXX/example.php?name=valude”);可以傳遞帶參數的檔案~~

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.