Maison > Article > développement back-end > L'opération de fichier PHP renvoie les informations d'emplacement du fichier (adresse absolue)
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); ?>
输出结果为:
可以看出,当然文件$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']; ?>Le résultat de sortie est :
当前文件所在位置: C:/wamp/www/demo.php🎜🎜🎜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 : 🎜🎜🎜🎜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__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!