Obtention de l'URL de base en PHP
Dans votre environnement de développement, où vous utilisez une URL locale telle que http://127.0. 0.1/test_website/, il peut être utile d'obtenir par programme l'URL de base pour diverses fonctions. Cependant, les méthodes couramment utilisées telles que dirname(__FILE__) et basename(__FILE__) ne produiront pas le résultat souhaité.
Solution 1 :
Pour obtenir avec précision l'URL de base, vous pouvez utiliser les éléments suivants code :
<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>
Cette approche utilise la variable prédéfinie $_SERVER pour accéder au nom du serveur et demander l'URI, construisant ainsi efficacement l'URL de base.
Solution 2 (pour la prise en charge de HTTPS) :
Si vous devez également prendre en charge HTTPS, envisagez d'utiliser ce qui suit function :
function url(){ return sprintf( "%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['SERVER_NAME'], $_SERVER['REQUEST_URI'] ); }
Attention :
Lorsque vous utilisez la clé SERVER_NAME, assurez-vous que votre configuration Apache est correctement configurée. Sinon, vous devez spécifier explicitement le nom du serveur dans la configuration de votre hôte virtuel :
<VirtualHost *> ServerName example.com UseCanonicalName on </VirtualHost>
Remarque supplémentaire :
Utilisation de la clé HTTP_HOST nécessite un nettoyage supplémentaire pour garantir des caractères valides pour un domaine. Pensez à utiliser la fonction parse_url intégrée à PHP à cet effet.
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!