PHP 檔案系統 realpath() 函式



PHP 檔案系統realpath()函式用於返回絕對路徑名。此函式可以移除所有符號連結(如“/./”、“/../”和額外的“/”),並返回絕對路徑名。此函式在失敗時可能返回 false。

使用 realpath() 時,必須提供路徑。或者,您可以使用空字串("")。如果您這樣做,路徑將更改為當前目錄。

語法

以下是 PHP 檔案系統realpath()函式的語法 -

string realpath ( string $path )

引數

以下是realpath()函式唯一必需的引數 -

序號 引數及說明
1

$path(必需)

它是要解析的檔案或目錄的路徑。

返回值

函式realpath()返回絕對路徑名,並在失敗時返回 FALSE。

PHP 版本

realpath()函式最初作為 PHP 4 核心的一部分引入,並且與 PHP 5、PHP 7 和 PHP 8 相容良好。

示例

這是一個基本示例,用於瞭解如何使用 PHP 檔案系統realpath()函式獲取給定路徑的絕對路徑。

<?php
   echo $real_path = realpath("C:/PhpProject/index.php");
?>

輸出

以下是以下程式碼的結果 -

C:\PhpProject\index.php

示例

這是一個另一個示例,用於演示realpath()函式的使用,以獲取給定檔案路徑的絕對路徑,並在使用過程中處理錯誤。

<?php 
   $path = '../PhpProject/index.php';
   $absolutePath = realpath($path);
   
   if ($absolutePath !== false) {
       echo "The absolute path is: " . $absolutePath;
   } else {
       echo "The file does not exist.";
   }
?> 

輸出

這將產生以下結果 -

The absolute path is: /home/PHP/PhpProject/index.php

示例

這是一個使用realpath()函式的另一個示例,在這個示例中,我們將一個空字串作為路徑。由於路徑是空字串,realpath() 假設它是當前目錄。

<?php
   // Empty string
   $path = '';
   $absolutePath = realpath($path);

   if ($absolutePath !== false) {
      echo "The absolute path is: " . $absolutePath;
   } else {
      echo "The path does not exist.";
   }
?> 

輸出

這將生成以下輸出 -

/home/PHP/PhpProject

示例

這是一個使用realpath()函式解析包含父目錄(..)的路徑的示例。

<?php
   $path = '../../var/www';
   $absolutePath = realpath($path);

   if ($absolutePath !== false) {
      echo "The absolute path is: " . $absolutePath;
   } else {
      echo "The file does not exist.";
   }
?> 

輸出

這將導致以下輸出 -

The absolute path is: /var/www

重要提示

在使用realpath()函式時,請記住以下一些要點 -

  • 正在執行的指令碼必須對層次結構中的所有目錄具有可執行許可權;否則,realpath() 將返回 false。
  • 對於不區分大小寫的檔案系統,realpath() 可以或可能無法規範化字元大小寫。
  • 在 Windows 上,資料夾的連線點和符號連結僅擴充套件一級。
  • 由於 PHP 的整數型別是有符號的,並且許多平臺使用 32 位整數,因此對於大於 2GB 的檔案,許多檔案系統函式可能會產生意外的結果。

總結

realpath()方法是一個獲取絕對路徑的內建函式。這可以幫助確保您正在使用正確的檔案或目錄,同時降低潛在的安全風險。

php_function_reference.htm
廣告