首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 使用 basename() 與 dirname() 分離路徑中的檔名與目錄

     編輯:PHP 綜合知識

前言

處理檔案路徑時,常需分離**目錄部分**與**檔名部分**。PHP 提供 dirname() 與 basename() 兩個內建函數,跨平台相容(自動識別 / 或 \)。

基本用法

<?php
$fullPath = 'C:\wamp\php\php.ini'; // Windows 路徑
// $fullPath = '/usr/local/php/php.ini'; // Linux 路徑

$fileName = basename($fullPath); // php.ini
$dirPath  = dirname($fullPath);  // C:\wamp\php  或  /usr/local/php

echo "檔名: $fileName\n";
echo "目錄: $dirPath\n";
?>

進階:basename() 移除副檔名

$file = 'image.png';
echo basename($file, '.png'); // image
echo basename($file, '.php'); // image.png (不匹配則原樣回傳)

組合路徑:使用 DIRECTORY_SEPARATOR

$dir  = '/var/www/html';
$file = 'index.php';
$path = $dir . DIRECTORY_SEPARATOR . $file;
// Linux: /var/www/html/index.php
// Windows: \var\www\html\index.php (若 $dir 含磁碟代號則正確)

現代化:SplFileInfo 物件導向介面

$info = new SplFileInfo('/usr/local/php/php.ini');
echo $info->getFilename(); // php.ini
echo $info->getPath();     // /usr/local/php
echo $info->getBasename('.ini'); // php
echo $info->getExtension(); // ini
echo $info->isFile();      // true/false
echo $info->getRealPath(); // 解析符號連結後的真實路徑

結語

basename()/dirname() 簡單高效,適合簡單腳本;複雜路徑操作(解析相對路徑、符號連結、權限檢查)建議改用 SplFileInfo 或 Symfony Filesystem 等物件導向工具。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved