您好,登錄后才能下訂單哦!
本篇內容主要講解“php怎么提取文件或目錄的名稱”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php怎么提取文件或目錄的名稱”吧!
本文的主要內容就是:“獲取文件/目錄的名稱部分”。可以是返回當前文件的文件名,也可以是返回指定文件URL的文件名。
一:獲取文件的名稱部分
1、利用預定義變量 $_SERVER
--當前文件的文件名
在上文中,我們就介紹了$_SERVER是一個包含服務器和執行環境信息的數組,其中一個信息就是“路徑(path)”。
我們可以使用$_SERVER['PHP_SELF']
來獲取當前執行腳本的文件名,不過在文件名前會有一個斜杠“/”
<?php header("content-type:text/html;charset=utf-8"); echo "當前文件的文件名: ".$_SERVER['PHP_SELF']; ?>
輸出結果為:
當前文件的文件名: /demo.php
這樣的效果,使用$_SERVER['SCRIPT_NAME']
也可以實現
echo "當前文件的文件名: ".$_SERVER['SCRIPT_NAME'];
輸出結果和上面一樣。
2、使用basename() 函數--指定文件URL的文件名
<?php header("content-type:text/html;charset=utf-8"); $path = "C:/wamp/www/demo.php"; echo '指定路徑$path的文件名稱: '.basename($path); ?>
輸出結果為:
指定路徑$path的文件名稱: demo.php
OK,這種的才是我們想要的文件名。上面使用預定義變量 $_SERVER 獲取的文件名也可以利用basename() 函數處理一下
<?php header("content-type:text/html;charset=utf-8"); echo "當前文件的文件名: ".basename($_SERVER['PHP_SELF']); ?>
輸出結果為:
當前文件的文件名: demo.php
3、使用 pathinfo() 函數--指定文件URL的文件名
pathinfo() 函數能以數組的形式返回關于文件路徑的信息,各數組元素及其包含的信息如下:
[dirname]
:目錄路徑
[basename]
:文件名
[extension]
:文件后綴名
[filename]
:不包含后綴的文件名
<?php $path = "C:/wamp/www/demo.php"; $arr = pathinfo($path); var_dump($arr); ?>
輸出結果為:
我們利用$arr['basename']
就可以獲取文件名,如果想要獲取不包含后綴的文件名,則可使用$arr['filename']
。
echo "文件名:".$arr['basename']; echo "<br>不包含后綴的文件名:".$arr['filename'];
輸出結果為:
利用$arr['extension']
還可以獲取文件擴展名
echo "文件擴展名:".$arr['extension'];
二:獲取目錄的名稱部分
1、使用魔術常量 __DIR__
---- 當前文件所在目錄的名稱部分。
__DIR__ 常量可獲取當前文件的絕對路徑(不包含文件名),即當前文件所在目錄的名稱部分。
例包含下面程序的PHP文件名為demo.php,完整路徑為“C:/wamp/www/demo.php
”
<?php header("content-type:text/html;charset=utf-8"); echo "當前文件的目錄名: ".__DIR__; ?>
輸出結果為:
當前文件的目錄名: C:\wamp\www
2、使用 dirname() 函數--指定文件URL的目錄名
dirname($path)
函數可以返回路徑$path中的目錄名稱部分。
<?php header("content-type:text/html;charset=utf-8"); $path = "C:/wamp/www/demo.php"; echo '指定路徑$path的目錄名稱: '.dirname($path); ?>
輸出結果為:
指定路徑$path的目錄名稱: C:/wamp/www
到此,相信大家對“php怎么提取文件或目錄的名稱”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。