include是php中的一個調用文件的函數,默認狀態下是不可以直接像include(a.php?id=1)這樣操作,下面我來介紹解決include不能帶參數調用解決辦法。
有時基於某些特殊需求,需要在PHP中使用include()方法調用項目中某個獨立提供服務的文件,如果被調用文件使用GET方式傳入數據,則需要用到一些小技巧。
舉例:假設在 index.php 中需要調用 inc.php?para=3 ,
inc.php
代碼如下 復制代碼<?php echo $_GET['para']; ?>
下面的寫法是無法得到正確結果的:
index.php
<?php include dirname(__FILE__).'/inc.php?para=3'; ?>
稍微變通一下,把$_GET變量在include之前定義,則可以正常運行:
index.php
代碼如下 復制代碼 <?php
如果php.ini中開啟了allow_url_include功能,則可以使用include url的方式:
index.php
<?php include 'http://www.yoururl.com/inc.php?para=3'; ?>
設置方法:php.ini中,找到如下行,改為On:
代碼如下 復制代碼; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
allow_url_include = On
不過為了保證安全性,大部分的服務器都將allow_url_include 功能關閉,那樣就只能視情況而定了。