Heim > Artikel > Backend-Entwicklung > Der PHP-Dateivorgang gibt die Standortinformationen der Datei zurück (absolute Adresse).
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); ?>
输出结果为:
可以看出,当然文件$filename
在c盘wamp目录的子目录www中。
realpath() 函数返回的绝对路径是包含文件名的,如果不想要可以利用dirname()函数去掉
<?php $filename = "demo.php"; echo "{$filename} 文件所在位置: ".dirname(realpath($filename)); ?>
这是知道部分文件url,来获取指定文件的绝对路径;但在实际有时我们并不知道当前所在文件的部分url,这样要如何获取文件绝对路径呢?我们可以利用魔术常量(__FILE__
、__DIR__
)或者预定义变量($_SERVER
)
2、使用魔术常量 __FILE__
直接使用 __FILE__
常量就可以获取当前文件的绝对路径(包含文件名)
<?php echo "当前文件所在位置: ".__FILE__; ?>
输出结果为:
和上文一样,如果不想要文件名可以利用dirname()函数去掉,即获取当前文件所在的绝对目录信息
<?php echo "当前文件所在位置: ".dirname(__FILE__); ?>
调用两次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['SCRIPT_FILENAME']; ?>Das Ausgabeergebnis ist:
当前文件所在位置: C:/wamp/www/demo.php🎜🎜🎜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: 🎜🎜🎜🎜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__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!