Maison > développement back-end > Problème PHP > L'opération de fichier PHP renvoie les informations d'emplacement du fichier (adresse absolue)

L'opération de fichier PHP renvoie les informations d'emplacement du fichier (adresse absolue)

青灯夜游
Libérer: 2023-03-12 07:40:01
original
5056 Les gens l'ont consulté

Dans l'article précédent "Comment connaître rapidement la taille, le type et les autorisations des fichiers lors des opérations sur les fichiers php", nous avons présenté comment obtenir la taille, le type de fichier et les autorisations de fichier/répertoire. Les amis dans le besoin peuvent apprendre et comprendre Take. un coup d'oeil~

Le contenu principal de cet article est : renvoyer les informations d'emplacement du fichier actuel, c'est-à-dire obtenir et renvoyer le chemin absolu du fichier actuel.

Alors comment obtenir le chemin absolu du fichier ? Voici quelques méthodes couramment utilisées.

1. Utilisez la fonction realpath()

Nous connaissons le nom du script PHP exécuté, attribuons-le à $filename, puis utilisons realpath($filename) Pour obtenir le chemin absolu du fichier (y compris le nom du fichier) et connaître les informations d'emplacement de $filename. $filename,然后可以利用realpath($filename)来获取该文件的绝对路径(包含文件名),了解$filename所在的位置信息。

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

输出结果为:

Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)

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

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

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

Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)

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

2、使用魔术常量 __FILE__

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

<?php
echo "当前文件所在位置: ".__FILE__;
?>
Copier après la connexion

输出结果为:

Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)

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

<?php
echo "当前文件所在位置: ".dirname(__FILE__);
?>
Copier après la connexion

Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)

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

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

输出结果为:

当前文件所在位置: C:\wamp
Copier après la connexion

3、使用魔术常量 __DIR__

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

<?php
echo "当前文件所在位置: ".__DIR__;
?>
Copier après la connexion

输出结果为:

当前文件所在位置: C:\wamp\www
Copier après la connexion

4、使用预定义变量 $_SERVER

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

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

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

Le résultat de sortie est :

Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)

On voit que bien sûr le fichier $filename est dans le sous-répertoire www du répertoire wamp sur le lecteur c.

Le chemin absolu renvoyé par la fonction realpath() contient le nom du fichier Si vous ne le souhaitez pas, vous pouvez utiliser la fonction dirname() pour le supprimer🎜
当前文件所在位置: C:/wamp/www/demo.php
Copier après la connexion
🎜Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)🎜🎜Il s'agit de connaître une partie de l'URL du fichier pour obtenir le chemin absolu du fichier spécifié ; mais en pratique, parfois nous ne connaissons pas la partie actuelle de l'URL du fichier. Comment obtenir le chemin absolu du fichier ? Nous pouvons utiliser des constantes magiques (__FILE__, __DIR__) ou des variables prédéfinies ($_SERVER) 🎜🎜🎜2. 🎜🎜🎜Utilisez directement la constante __FILE__ pour obtenir le chemin absolu du fichier actuel (y compris le nom du fichier)🎜rrreee🎜Le résultat de sortie est : 🎜🎜Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)🎜🎜Idem que ci-dessus, si vous ne le faites pas voulez le nom du fichier, vous pouvez l'utiliser Supprimez la fonction dirname() pour obtenir les informations absolues du répertoire où se trouve le fichier actuel
🎜rrreee🎜Lopération de fichier PHP renvoie les informations demplacement du fichier (adresse absolue)🎜🎜Appeler deux fois la fonction dirname() peut également obtenir le nom du répertoire supérieur du fichier actuel🎜rrreee🎜Le résultat de sortie est : 🎜rrreee 🎜🎜3. Utilisez la constante magique __DIR__🎜🎜🎜Utilisez directement la constante __DIR__ pour obtenir le chemin absolu de le fichier actuel, et il n'inclut pas le nom du fichier, qui est équivalent à dirname(__FILE__). 🎜rrreee🎜Le résultat de sortie est : 🎜rrreee🎜🎜4. Utilisez la variable prédéfinie $_SERVER🎜🎜🎜$_SERVER qui contient des informations sur le serveur et l'environnement d'exécution, qui sont a Un tableau d'informations telles que l'en-tête, le chemin et les emplacements de script. Tous les éléments de ce tableau sont créés par le serveur Web. 🎜🎜Nous pouvons directement utiliser $_SERVER['SCRIPT_FILENAME'] pour obtenir le chemin absolu du script en cours d'exécution🎜rrreee🎜Le résultat de sortie est : 🎜rrreee🎜La plate-forme de site Web PHP chinoise a beaucoup de ressources pédagogiques vidéo. Bienvenue à tous pour apprendre le "🎜Tutoriel vidéo PHP🎜" ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal