中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在PHP中使用set_include_path()函數

發布時間:2021-04-01 16:57:06 來源:億速云 閱讀:259 作者:Leah 欄目:開發技術

這篇文章給大家介紹如何在PHP中使用set_include_path()函數,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

先看如下代碼:

<?php
/** 定義根目錄 */
define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));
/** 定義插件目錄(相對路徑) */
define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins');
/** 設置包含路徑 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
?>

首先:

我們來看這個全局變量:__FILE__

它表示文件的完整路徑(當然包括文件名在內)

也就是說它根據你文件所在的目錄不同,有著不同的值;當然,當它用在包行文件中的時候,它的值是包含的路徑;

然后:

我們看這個函數:

string dirname ( string path )

它是PHP內置函數,它的作用是什么呢,就是返回除了本文件名以外的所在目錄,例如:

假如你的首頁中用到了_FILE_這個變量:

(假設你的網頁所在目錄為:http://localhost/web/index.php),那么:
_FILE_的值為http://localhost/web/index.php(一個絕對路徑)。而此時dirname (_FILE_)表示的就是http://localhost/web/也就是沒有index.php這個文件名。

而dirname(dirname(_FILE_))表示的就是上一級的目錄,以此類推;

最后:

看一下define()這個函數,其實他就是一個定義常量的函數,比如:define('MEN','ooooo');

那么你后你就可以用MEN來表示ooooo這個字符串;

那么這么寫有什么好處呢,那就是當你需要修改變量的時候,你只要修改它就行了,相當的方便,尤其是像路徑這樣的字符串!

下面解釋一下這段代碼:

define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));

就是定義__TYPECHO_ROOT_DIR__為這個文件所在的目錄,像這種定義一般是放在config.inc.php中的,那么獲取的目錄也就是config.inc.php所在的目錄;也就是根目錄!

define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins');

這就不用說了!

至于set_include_path(get_include_path() . PATH_SEPARATOR . $path);是什么意思,他就是包含路徑;

比如你有一個文件夾:命名為include,里面有數據庫連接文件:conn.php……,

你這樣設置:

set_include_path("/include")

那么以后你就直接可以在其他頁面中使用

include("conn.php")

這不是經常見到嗎?它參數就字符串,當然你也可以設置多個路徑,中間用;分開,而那句:

set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);

什意思呢,舉個例子:

你的一個頁面有這樣的語句:

include('/inc/sql.php');
include('/inc/conn.php');

而你突然發現我把這些要包含的文件放在inc目錄下不安全,怎么辦,要改,我想放到include目錄中,好的,這么多頁面不累死才怪:有沒有好的方法!有!!!!!!!

在config.inc.php中寫著么一句:

set_include_path(get_include_path() .'/include')

就這么簡單,對,就這么簡單!動態的修改!

你不要看這個:get_include_path() . PATH_SEPARATOR . $path這是什么,他就一路徑字符串,中間的.是字符串連接符號,也就是剛才定義的那些常量的組合,組合成一字符串,也好就是說他可以動態的設置包含路徑!如果正確返回包含路徑,不正確返回false;

關于如何在PHP中使用set_include_path()函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

滨海县| 南漳县| 抚宁县| 莱州市| 桐柏县| 东方市| 仁寿县| 虞城县| 双流县| 邹平县| 甘孜县| 子长县| 专栏| 桂阳县| 满洲里市| 盐池县| 湖北省| 花垣县| 格尔木市| 桂阳县| 西充县| 固原市| 乌拉特后旗| 太谷县| 罗山县| 麟游县| 武夷山市| 营口市| 札达县| 财经| 佛教| 揭西县| 得荣县| 延寿县| 陇川县| 新乐市| 万山特区| 宝丰县| 威宁| 翁源县| 奉贤区|