一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - PHP中set_include_path()函數(shù)相關(guān)用法分析

PHP中set_include_path()函數(shù)相關(guān)用法分析

2021-02-06 16:08wjtlht928 PHP教程

這篇文章主要介紹了PHP中set_include_path()函數(shù)相關(guān)用法,結(jié)合實(shí)例形式分析了php針對(duì)文件路徑設(shè)置的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了PHPset_include_path()函數(shù)相關(guān)用法。分享給大家供大家參考,具體如下:

先看如下代碼:

?
1
2
3
4
5
6
7
8
9
10
<?php
/** 定義根目錄 */
define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));
/** 定義插件目錄(相對(duì)路徑) */
define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins');
/** 設(shè)置包含路徑 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
?>

首先:

我們來看這個(gè)全局變量:__FILE__

它表示文件的完整路徑(當(dāng)然包括文件名在內(nèi))

也就是說它根據(jù)你文件所在的目錄不同,有著不同的值;當(dāng)然,當(dāng)它用在包行文件中的時(shí)候,它的值是包含的路徑;

然后:

我們看這個(gè)函數(shù):

?
1
string dirname ( string path )

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

假如你的首頁(yè)中用到了_FILE_這個(gè)變量:

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

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

最后:

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

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

那么這么寫有什么好處呢,那就是當(dāng)你需要修改變量的時(shí)候,你只要修改它就行了,相當(dāng)?shù)姆奖悖绕涫窍衤窂竭@樣的字符串!

下面解釋一下這段代碼:

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

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

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

這就不用說了!

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

比如你有一個(gè)文件夾:命名為include,里面有數(shù)據(jù)庫(kù)連接文件:conn.php……,

你這樣設(shè)置:

?
1
set_include_path("/include")

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

?
1
include("conn.php")

這不是經(jīng)常見到嗎?它參數(shù)就字符串,當(dāng)然你也可以設(shè)置多個(gè)路徑,中間用;分開,而那句:

?
1
2
3
set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);

什意思呢,舉個(gè)例子:

你的一個(gè)頁(yè)面有這樣的語(yǔ)句:

?
1
2
include('/inc/sql.php');
include('/inc/conn.php');

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

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

?
1
set_include_path(get_include_path() .'/include')

就這么簡(jiǎn)單,對(duì),就這么簡(jiǎn)單!動(dòng)態(tài)的修改!

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

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎精品视频在线永久免费观看 | 国内精品伊人久久大香线焦 | 免费观看视频网站 | 第一福利在线导航 | 皇上好大好硬好涨好深好爽 | 四虎网站在线 | 国产精品美女福利视频免费专区 | avtt天堂在线| 桃色公寓 | 娇妻中日久久持久久 | 免费欧美一级 | 女同学高中你下面好紧 | 精品操 | 精品国产精品人妻久久无码五月天 | 久久精品嫩草影院免费看 | 亚洲国产香蕉视频欧美 | 国产五月天在线 | 极端 成熟 性别 视频 | 玩50岁四川熟女大白屁股直播 | 亚洲精品久久中文字幕 | 啪哆哆 | 亚洲 欧美 日韩 综合 | 国产男女乱淫真视频全程播放 | 久久国产精品永久免费网站 | 草莓视频幸福宝 | 成年看片免费高清观看 | 日韩精品成人免费观看 | 国产精品suv一区二区 | 女娃开嫩苞经历小说 | 日韩欧美推理片免费在线播放 | 久久精品动漫网一区二区 | 丰满在线观看 | 日本一区二区三区国产 | 9999网站| 欧美最猛性xxxxx动态图 | 欧美专区在线播放 | 免费激情小视频 | 久久久精品成人免费看 | 国产亚洲精品综合在线网址 | 国产欧美日韩视频在线观看一区二区 | 青青青国产手机在线播放 |