首頁  >  文章  >  後端開發  >  php檔案操作之傳回檔案所在的位置資訊(絕對位址)

php檔案操作之傳回檔案所在的位置資訊(絕對位址)

青灯夜游
青灯夜游原創
2021-08-20 15:11:585011瀏覽

在上一篇文章《php檔案操作之怎麼快速知道檔案的大小、類型和權限》中,我們介紹了檔案大小、檔案類型和檔案/目錄權限的取得方法,有需要的朋友可以學習了解一下~

本文的主要內容是:返回當前文件所在的位置信息,即獲取並返回當前文件的絕對路徑。

那麼檔案的絕對路徑要怎麼取得呢?以下跟大家介紹幾種常用方法。

1、使用realpath() 函數

我們知道執行PHP腳本的名稱,將它賦值給$filename,然後可以利用realpath ($filename)來取得該檔案的絕對路徑(包含檔案名稱),了解$filename所在的位置資訊。

<?php
$filename = "demo.php";
echo "{$filename} 文件所在位置: ".realpath($filename);
?>

輸出結果為:

php檔案操作之傳回檔案所在的位置資訊(絕對位址)

可以看出,當然檔案$filename在c磁碟wamp目錄的子目錄www中。

realpath() 函數回傳的絕對路徑是包含檔名的,如果不想要可以利用dirname()函數去掉

<?php
$filename = "demo.php";
echo "{$filename} 文件所在位置: ".dirname(realpath($filename));
?>

php檔案操作之傳回檔案所在的位置資訊(絕對位址)

這是知道部分檔案url,來取得指定檔案的絕對路徑;但在實際有時我們並不知道目前所在檔案的部分url,這樣要如何取得檔案絕對路徑呢?我們可以利用魔術常數(__FILE____DIR__)或預先定義變數($_SERVER

2、使用魔術常數__FILE__

直接使用__FILE__ 常數就可以取得目前檔案的絕對路徑(包含檔案名稱)

<?php
echo "当前文件所在位置: ".__FILE__;
?>

輸出結果為:

php檔案操作之傳回檔案所在的位置資訊(絕對位址)

和上文一樣,如果不想要檔案名稱可以利用dirname()函數去掉,也就是取得目前檔案所在的絕對目錄資訊

<?php
echo "当前文件所在位置: ".dirname(__FILE__);
?>

php檔案操作之傳回檔案所在的位置資訊(絕對位址)

呼叫兩次dirname()函數也可以取得目前檔案的上一層目錄名稱

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件所在位置: ".dirname(dirname(__FILE__));
?>

輸出結果為:

当前文件所在位置: C:\wamp

3、使用魔術常數 __DIR__

#直接使用__DIR__ 常數就可取得目前檔案的絕對路徑,且不包含檔案名稱的,等價於dirname(__FILE__)

<?php
echo "当前文件所在位置: ".__DIR__;
?>

輸出結果為:

当前文件所在位置: C:\wamp\www

4、使用預定義變數$_SERVER

#$_SERVER 中包含伺服器和執行環境的信息,是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數組。這個陣列中的所有項目由 Web 伺服器建立。

我們可以直接使用 

$_SERVER['SCRIPT_FILENAME'] 來取得目前執行腳本的絕對路徑

<?php
echo "当前文件所在位置: ".$_SERVER[&#39;SCRIPT_FILENAME&#39;];
?>

輸出結果為:

当前文件所在位置: C:/wamp/www/demo.php

PHP中文網路平台有非常多的影片教學資源,歡迎大家學習《

PHP影片教學》!

以上是php檔案操作之傳回檔案所在的位置資訊(絕對位址)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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