Info

Trouver la racine du document PHP

Trouver la racine du document PHP

La racine du document PHP est le dossier dans lequel un script PHP est en cours d'exécution. Lors de l’installation d’un script, les développeurs Web ont souvent besoin de connaître la racine du document. Bien que de nombreuses pages scriptées avec PHP soient exécutées sur un serveur Apache, certaines fonctionnent sous Microsoft IIS sous Windows. Apache inclut une variable d'environnement appelée DOCUMENT_ROOT, contrairement à IIS. En conséquence, il existe deux méthodes pour localiser la racine du document PHP.

Trouver la racine du document PHP sous Apache

Au lieu d'envoyer un courrier électronique au support technique pour la racine du document et d'attendre que quelqu'un réponde, vous pouvez utiliser un simple script PHP avec getenv (), qui fournit un raccourci sur les serveurs Apache vers la racine du document.

Ces quelques lignes de code renvoient la racine du document.

Trouver la racine du document PHP sous IIS

Microsoft Internet Information Services a été introduit avec Windows NT 3.5.1 et a été inclus dans la plupart des versions de Windows depuis, y compris Windows Server 2016 et Windows 10. Il ne fournit pas de raccourci vers la racine du document.

Pour trouver le nom du script en cours d'exécution dans IIS, commencez par ce code:

print getenv ("SCRIPT_NAME");

qui renvoie un résultat similaire à:

/product/description/index.php

qui est le chemin complet du script. Vous ne voulez pas le chemin complet, juste le nom du fichier pour SCRIPT_NAME. Pour l'obtenir, utilisez:

print realpath (nom de base (getenv ("SCRIPT_NAME")));

qui retourne un résultat dans ce format:

/usr/local/apache/share/htdocs/product/description/index.php

Pour supprimer le code faisant référence au fichier relatif au site et arriver à la racine du document, utilisez le code suivant au début de tout script devant connaître la racine du document.

$ localpath = getenv ("SCRIPT_NAME");

$ absolutepath = realpath ($ localPath);

// corrige les barres obliques de Windows

$ absolutepath = str_replace ("", "/", $ absolutepath);

$ docroot = substr ($ absolutepath, 0, strpos ($ absolutepath,

$ localpath));

// un exemple d'utilisation

include ($ docroot. "/ includes / config.php");

Cette méthode, bien que plus complexe, s’exécute sur les serveurs IIS et Apache.