Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).

青灯夜游
Freigeben: 2023-03-12 07:40:01
Original
4908 Leute haben es durchsucht

Im vorherigen Artikel „So erfahren Sie schnell die Größe, den Typ und die Berechtigungen von Dateien bei PHP-Dateivorgängen“ haben wir vorgestellt, wie Sie Dateigröße, Dateityp und Datei-/Verzeichnisberechtigungen erhalten können Schauen Sie sich das an~

Der Hauptinhalt dieses Artikels ist: Geben Sie die Speicherortinformationen der aktuellen Datei zurück, dh erhalten Sie den absoluten Pfad der aktuellen Datei und geben Sie ihn zurück.

Wie erhalte ich also den absoluten Pfad der Datei? Hier sind einige häufig verwendete Methoden.

1. Verwenden Sie die Funktion realpath()

Wir kennen den Namen des ausgeführten PHP-Skripts, weisen ihn $filename zu und verwenden dann realpath($filename) Um den absoluten Pfad der Datei (einschließlich des Dateinamens) zu erhalten und die Speicherortinformationen von $filename zu erfahren. $filename,然后可以利用realpath($filename)来获取该文件的绝对路径(包含文件名),了解$filename所在的位置信息。

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

输出结果为:

Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).

可以看出,当然文件$filename在c盘wamp目录的子目录www中。

realpath() 函数返回的绝对路径是包含文件名的,如果不想要可以利用dirname()函数去掉

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

Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).

这是知道部分文件url,来获取指定文件的绝对路径;但在实际有时我们并不知道当前所在文件的部分url,这样要如何获取文件绝对路径呢?我们可以利用魔术常量(__FILE____DIR__)或者预定义变量($_SERVER

2、使用魔术常量 __FILE__

直接使用 __FILE__ 常量就可以获取当前文件的绝对路径(包含文件名)

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

输出结果为:

Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).

和上文一样,如果不想要文件名可以利用dirname()函数去掉,即获取当前文件所在的绝对目录信息

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

Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).

调用两次dirname()函数还可以获取当前文件的上一层目录名

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

输出结果为:

当前文件所在位置: C:\wamp
Nach dem Login kopieren

3、使用魔术常量 __DIR__

直接使用 __DIR__ 常量就可获取当前文件的绝对路径,且是不包含文件名的,等价于 dirname(__FILE__)

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

输出结果为:

当前文件所在位置: C:\wamp\www
Nach dem Login kopieren

4、使用预定义变量 $_SERVER

$_SERVER 中包含服务器和执行环境的信息,是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的所有项目由 Web 服务器创建。

我们可以直接使用 $_SERVER[&#39;SCRIPT_FILENAME&#39;]

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

Das Ausgabeergebnis ist:

Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).

Es ist ersichtlich, dass sich die Datei $filename natürlich im Unterverzeichnis www des Wamp-Verzeichnisses auf dem Laufwerk C befindet.

Der von der Funktion realpath() zurückgegebene absolute Pfad enthält den Dateinamen. Wenn Sie ihn nicht möchten, können Sie ihn mit der Funktion dirname() entfernen🎜
当前文件所在位置: C:/wamp/www/demo.php
Nach dem Login kopieren
🎜Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).🎜🎜Dabei muss ein Teil der Datei-URL bekannt sein, um den absoluten Pfad zu erhalten der angegebenen Datei; in der Praxis kennen wir jedoch manchmal den aktuellen Teil der URL der Datei. Wir können magische Konstanten (__FILE__, __DIR__) oder vordefinierte Variablen ($_SERVER) verwenden 🎜🎜🎜2 Verwenden Sie magische Konstanten __FILE__. 🎜🎜🎜Verwenden Sie die Konstante __FILE__ direkt, um den absoluten Pfad der aktuellen Datei (einschließlich des Dateinamens) zu erhalten.🎜rrreee🎜Das Ausgabeergebnis ist: 🎜🎜Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).🎜🎜Gleiches wie oben, falls nicht Wenn Sie den Dateinamen möchten, können Sie ihn verwenden. Entfernen Sie die Funktion dirname(), um die absoluten Verzeichnisinformationen zu erhalten, in denen sich die aktuelle Datei befindet
🎜rrreee🎜Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).🎜🎜Durch zweimaliges Aufrufen der Funktion dirname() kann auch der obere Verzeichnisname der aktuellen Datei abgerufen werden🎜rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee 🎜🎜3. Verwenden Sie die magische Konstante __DIR__🎜🎜🎜Verwenden Sie die Konstante __DIR__ direkt, um den absoluten Pfad von zu erhalten die aktuelle Datei und enthält nicht den Dateinamen, der dirname(__FILE__) entspricht. 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee🎜🎜4. Verwenden Sie die vordefinierte Variable $_SERVER. 🎜🎜🎜$_SERVER enthält Informationen über den Server und die Ausführungsumgebung a Ein Array von Informationen wie Header, Pfad und Skriptspeicherorte. Alle Elemente in diesem Array werden vom Webserver erstellt. 🎜🎜Wir können $_SERVER['SCRIPT_FILENAME'] direkt verwenden, um den absoluten Pfad des aktuell ausgeführten Skripts abzurufen🎜rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee🎜Die PHP-chinesische Website-Plattform hat viele Video-Lehrressourcen. Willkommen zum Erlernen des „🎜PHP-Video-Tutorials“! 🎜

Das obige ist der detaillierte Inhalt vonDer PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!