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
- $_GET['para'] = 3;
- include dirname(__FILE__).'/inc.php; ?>
如果php.ini中開啟了allow_url_include功能,則可以使用include url的方式:index.php
<?php include 'http://www.companysz.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 功能關閉,那樣就只能視情況而定了.
新聞熱點
疑難解答