PHP - 獲取和設定include_path .

weixin_34391854發表於2015-05-27

PHP - 獲取和設定include_path              

分類:             PHP             

include_path是PHP中的一個環境變數,在php.ini中初始化設定,類似於JAVA的CLASSPATH和作業系統中的PATH。

例如:有如下一些檔案, /www/index.php /www/includes/config.php /www/includes/functions.php /www/includes/PEAR/PEAR.php /www/includes/PEAR/DB.php /www/includes/PEAR/DB/mysql.php

如果沒有設定include_path變數,index.php需要這樣寫:   

  1. <?php  
  2.   
  3. include_once '/www/includes/config.php';  
  4. include_once '/www/includes/PEAR/DB.php';  
  5. include_once '/www/includes/PEAR/DB/mysql.php';  
  6.   
  7. ?>  

<?php include_once '/www/includes/config.php'; include_once '/www/includes/PEAR/DB.php'; include_once '/www/includes/PEAR/DB/mysql.php'; ?>

 

 

使用上面的引用方式,引用路徑比較長,當引用目錄位置改變時需要大量修改程式碼。使用include_path變數可以簡化上述問題:

  1. <?php  
  2.   
  3. set_include_path(/www/includes' . PATH_SEPARATOR . /www/includes/PEAR');  
  4.   
  5. include_once 'config.php';  
  6. include_once 'DB.php';  
  7. include_once 'DB/mysql.php';  
  8.   
  9. ?>  

<?php set_include_path(/www/includes' . PATH_SEPARATOR . /www/includes/PEAR'); include_once 'config.php'; include_once 'DB.php'; include_once 'DB/mysql.php'; ?>

 

 

 

include_path是PHP的環境變數,因而可以在php.ini設定,每次請求時include_path都會被PHP用php.ini中的值初始化。也可以用程式碼的方式修改include_path值,不過,修改後結果在請求完畢後會自動丟棄,不會帶到下一個請求。因此,每次請求時需要重新設定。

 

 

在程式碼中獲取和設定include_path值有如下兩種方式:

方式一:ini_get()和ini_set()方式,此種方式使用於所有PHP版本。

  1. <?php  
  2.   
  3. $s = ini_get('include_path');  
  4.   
  5. ini_set($s . PATH_SEPARATOR . '/www/includes');  
  6.   
  7. ?>  

<?php $s = ini_get('include_path'); ini_set($s . PATH_SEPARATOR . '/www/includes'); ?>

 

 

 

 

方式二:get_include_path()和set_include_path()方式,此種方式使用於PHP4.3以後的版本。

  1. <?php  
  2.   
  3. $s = get_include_path();  
  4.   
  5. set_include_path($s . PATH_SEPARATOR . '/www/includes');  
  6.   
  7. ?>  

<?php $s = get_include_path(); set_include_path($s . PATH_SEPARATOR . '/www/includes'); ?>

 

 

相關文章