首頁 >後端開發 >PHP問題 >php檔案操作之提取檔案/目錄的名稱

php檔案操作之提取檔案/目錄的名稱

青灯夜游
青灯夜游原創
2021-08-20 16:25:236585瀏覽

在上一篇文章《php檔案操作之回傳檔案所在的位置資訊(絕對地址)》中,我們了解取得目前檔案覺得路徑的4種方法。這次我們繼續php檔案操作系列的學習,來聊聊怎麼取得指定路徑或目前檔案的檔案名稱(目錄名稱),有興趣的朋友可以學習了解一下~

本文的主要內容就是: 「取得檔案/目錄的名稱部分」。可以是傳回目前檔案的檔案名,也可以是傳回指定檔案URL的檔案名稱。

一:取得檔案的名稱部分

#1、利用預設變數 $_SERVER  --目前檔案的檔案名稱

在上文中,我們就介紹了$_SERVER是一個包含伺服器和執行環境資訊的數組,其中一個資訊就是「路徑(path)」。

我們可以使用$_SERVER['PHP_SELF']來取得目前執行腳本的檔名,不過在檔名前會有一個斜線「/」

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的文件名: ".$_SERVER[&#39;PHP_SELF&#39;];
?>

輸出結果為:

当前文件的文件名: /demo.php

這樣的效果,使用$_SERVER['SCRIPT_NAME']也可以實作

echo "当前文件的文件名: ".$_SERVER[&#39;SCRIPT_NAME&#39;];

輸出結果和上面一樣。

2、使用basename() 函數--指定檔案URL的檔案名稱

<?php
header("content-type:text/html;charset=utf-8");
$path = "C:/wamp/www/demo.php";
echo &#39;指定路径$path的文件名称: &#39;.basename($path);
?>

輸出結果為:

指定路径$path的文件名称: demo.php

OK,這種的才是我們想要的檔名。上面使用預先定義變數 $_SERVER 取得的檔案名稱也可以利用basename() 函數來處理一下

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的文件名: ".basename($_SERVER[&#39;PHP_SELF&#39;]);
?>

輸出結果為:

当前文件的文件名: demo.php

3、使用pathinfo() 函數--指定檔案URL的檔案名稱

pathinfo() 函數能以陣列的形式傳回關於檔案路徑的信息,各數組元素及其包含的資訊如下:

  • [dirname]:目錄路徑

  • #[basename]:檔案名稱

  • [extension]:檔案後綴名

  • #[filename]:不包含後綴的檔案名稱

<?php
$path = "C:/wamp/www/demo.php";
$arr = pathinfo($path);
var_dump($arr);
?>

輸出結果為:

php檔案操作之提取檔案/目錄的名稱

我們利用$arr['basename']就可以取得檔案名,如果想要取得不包含後綴的檔名,則可使用$arr['filename']

echo "文件名:".$arr[&#39;basename&#39;];
echo "<br>不包含后缀的文件名:".$arr[&#39;filename&#39;];

輸出結果為:

php檔案操作之提取檔案/目錄的名稱

利用$arr['extension']也可以取得檔案副檔名

echo "文件扩展名:".$arr[&#39;extension&#39;];

php檔案操作之提取檔案/目錄的名稱

二:取得目錄的名稱部分

#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 &#39;指定路径$path的目录名称: &#39;.dirname($path);
?>

輸出結果為:

指定路径$path的目录名称: C:/wamp/www

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

#

以上是php檔案操作之提取檔案/目錄的名稱的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn