web-dev-qa-db-fra.com

Comment utiliser __dir__?

Je veux utiliser __dir__.

Cependant, je ne trouve aucun bon tutoriel sur la façon de le configurer. J'ai mes htdocs dans Dropbox.

Est-ce que ça marche quelque chose comme ça?

 define(__DIR___, 'd:documents/dropbox/yolo/Swag/htdocs/myproject/test/newtest/
 testphp/test_new/testincludes/1/new_folder/')

C'est le répertoire où se trouve mon projet et il a des sous-dossiers. Je veux inclure un fichier dans un autre fichier qui se trouve dans le dossier parent.

Dois-je alors simplement taper:

 include'__DIR__/warlock.php'; 

Ou dois-je taper quelque chose comme ça?

 include '___DIR__/wow/newb/guidesfornabz/classes/casters/warlock.php'; 
21
JosefPP

Vous pouvez utiliser __DIR__ Pour obtenir le répertoire de votre script actuel. Il a été en PHP uniquement depuis la version 5.3, et c'est la même chose que l'utilisation de dirname(__FILE__). Dans la plupart des cas, il est utilisé pour inclure un autre fichier à partir d'un fichier inclus.

Pensez à avoir deux fichiers dans un répertoire appelé inc, qui est un sous-dossier du répertoire de notre projet, où se trouve le fichier index.php.

project
├── inc
│   ├── file1.php
│   └── file2.php
└── index.php

Si nous faisons include "inc/file1.php"; À partir de index.php Cela fonctionnera. Cependant, de file1.php Pour inclure file2.php, Nous devons faire une inclusion par rapport à index.php et non de file1.php (Donc, include "inc/file2.php";). __DIR__ Corrige cela, donc à partir de file1.php Nous pouvons le faire:

<?php
include __DIR__ . "/file2.php";

Pour répondre à votre question: pour inclure le fichier warlock.php Qui se trouve dans le répertoire supérieur de votre fichier inclus, voici la meilleure solution:

<?php
include __DIR__ . "/../warlock.php";
48
Howl