Maison >développement back-end >tutoriel php >Explication détaillée des fonctions php getenv(), putenv() et $_SERVER

Explication détaillée des fonctions php getenv(), putenv() et $_SERVER

小云云
小云云original
2018-03-05 10:35:398785parcourir

getenv obtient les variables d'environnement système

Syntaxe : string getenv(string varname); -----------Le paramètre varname doit être $_SERVER (super variable globale du serveur) array ), ou utilisez putenv("new=very new") pour définir new comme variable d'environnement, donc new comme paramètre aura la valeur very new
Valeur de retour : String
Type de fonction : fonction système PHP
Description du contenu : Si la variable d'environnement varname est obtenue correctement, la valeur de la variable sera renvoyée. Renvoie false en cas d'échec.
Exemple d'utilisation
L'exemple suivant peut obtenir l'URL de la machine sur laquelle se trouve le navigateur de l'utilisateur

<?
$ip = getenv(“REMOTE_ADDR”);
?>

$_SERVER est le tableau de variables super globales du serveur. Utilisez $_SERVER['REMOTE_ADDR'. ] pour obtenir également l'adresse IP du client.

La différence entre les deux est que getenv ne prend pas en charge php exécuté en mode isapi IIS

putenv configure les variables d'environnement système

Syntaxe PHP putenv() : void putenv (paramètre de chaîne);

Valeur de retour : Aucune

Type de fonction : fonction système PHP

Description du contenu : Cette fonction est utilisée pour configurer les variables d'environnement système.

Exemple d'utilisation :

Configurez la variable d'environnement NLS_LANG requise pour la base de données Oracle, et les données renvoyées contiennent du code BIG5 chinois.

<?
putenv("NLS_LANG=american_taiwan.zht16big5");
?>

Exemple complet de putenv() et getenv()

<?php
putenv("new=very new");$is_new = getenv("new");$new="bu shi";
echo $is_new,"<br />",$new;
?>

Sortie :

très nouvelle

Donc, à partir de ce qui précède, vous pouvez sachez qu'il n'y a pas lieu d'avoir peur Dans notre code, définissez le même nom que la variable d'environnement définie par putenv. Dans cet exemple, putenv("new=very new"); ; -----nouveau sans erreur.

Explication détaillée de la variable du serveur PHP $_SERVER :

Aujourd'hui, j'ai soigneusement étudié le contenu du manuel sur les variables du serveur, j'ai écrit une note et je l'ai publiée, j'espère qu'elle le sera. utile aux débutants.

Les rouges sont ce que je pense être les plus couramment utilisés et les plus importants, et les parties bleues sont ajoutées après le débogage par moi-même pour une compréhension facile.

Veuillez respecter les fruits du travail lors de la réimpression, haha, le travail physique n'est pas facile à gérer.

Explication détaillée de la variable serveur $_SERVER :

1. $_SESSION['PHP_SELF'] -- Obtenez le nom de fichier du script en cours d'exécution

2. ['SERVER_PROTOCOL '] -- Le nom et la version du protocole de communication lors de la demande de la page. Par exemple, « HTTP/1.0 ».

3. $_SERVER['REQUEST_TIME'] -- L'horodatage du début de la requête. Valable depuis PHP 5.1.0. L'effet est le même que la fonction temps.

4. $_SERVER['argv'] -- paramètres transmis au script. Je l'ai essayé et la méthode get peut obtenir $_SERVER['argv'][0]; la méthode post ne peut pas lui attribuer de valeur.

5. $_SERVER['SERVER_NAME'] -- Renvoie le nom d'hôte actuel.

6. $_SERVER['SERVER_SOFTWARE'] -- La chaîne identifiant le serveur, donnée dans les informations d'en-tête lors de la réponse à la requête. Tel que Microsoft-IIS/6.0

7, $_SERVER['REQUEST_METHOD'] -- la méthode de requête lors de l'accès à la page. Par exemple : "GET", "HEAD", "POST", "PUT".

8. $_SERVER['QUERY_STRING'] -- La chaîne de requête (le contenu après le premier point d'interrogation ? dans l'URL).

9. $_SERVER['DOCUMENT_ROOT'] -- Le répertoire racine du document où se trouve le script en cours d'exécution. Défini dans le fichier de configuration du serveur. Par exemple, E:server

10, $_SERVER['HTTP_ACCEPT'] -- le contenu de l'en-tête Accept: de la requête en cours.

11. $_SERVER['HTTP_ACCEPT_CHARSET'] -- Le contenu de Accept-Charset : informations d'en-tête de la requête en cours. Par exemple : "iso-8859-1,*,utf-8".

12. $_SERVER['HTTP_ACCEPT_ENCODING'] -- Le contenu de l'en-tête Accept-Encoding: de la requête actuelle. Par exemple : "gzip".

13. $_SERVER['HTTP_ACCEPT_LANGUAGE'] -- Le contenu de l'en-tête Accept-Language: de la requête actuelle. Par exemple : "fr".

14. $_SERVER['HTTP_CONNECTION'] -- Le contenu de la connexion : informations d'en-tête de la requête en cours. Par exemple : « Keep-Alive ».

15. $_SERVER['HTTP_HOST'] -- Le contenu de l'hôte : informations d'en-tête de la requête en cours.

16. $_SERVER['HTTP_REFERER'] -- Adresse URL de la page précédente liée à la page actuelle.

17. $_SERVER['HTTP_USER_AGENT'] -- Renvoie les informations du navigateur utilisées par l'utilisateur. Ces informations peuvent également être obtenues en utilisant get_browser().

18, $_SERVER['HTTPS'] -- S'il est accessible via https, il est défini sur une valeur non vide, sinon il revient.

19, $_SERVER['REMOTE_ADDR ' ] -- L'adresse IP de l'utilisateur qui parcourt la page actuelle.

20. $_SERVER['REMOTE_HOST'] -- Le nom d'hôte de l'utilisateur qui parcourt la page actuelle. La résolution inversée du nom de domaine est basée sur le REMOTE_ADDR de l'utilisateur. Par exemple, le test local renvoie 127.0.0.1

21, $_SERVER['REMOTE_PORT'] -- le port utilisé par l'utilisateur pour se connecter au serveur. J'ai échoué au test sur cette machine, je ne sais pas pourquoi.

22. $_SERVER['SCRIPT_FILENAME'] -- Le nom de chemin absolu du script en cours d'exécution. Par exemple, retournez E:serverindex.php

23, $_SERVER['SERVER_ADMIN'] -- Cette valeur indique le paramètre SERVER_ADMIN dans le fichier de configuration du serveur Apache. Si le script s'exécute sur un hôte virtuel, cette valeur est la valeur de cet hôte virtuel

24, $_SERVER['SERVER_PORT'] -- Le port utilisé par le serveur. La valeur par défaut est "80". Si vous utilisez une connexion sécurisée SSL, cette valeur est le port HTTP défini par l'utilisateur.

25. $_SERVER['SERVER_SIGNATURE'] -- Une chaîne contenant la version du serveur et le nom d'hôte virtuel.

26. $_SERVER['PATH_TRANSLATED'] -- Le chemin de base du système de fichiers (pas le répertoire racine du document) où se trouve le script actuel. C'est le résultat une fois que le serveur a été imagé d'un chemin virtuel vers un chemin réel. Les utilisateurs d'Apache 2 peuvent définir PATH_INFO en utilisant AcceptPathInfo On dans httpd.conf.

27. $_SERVER['SCRIPT_NAME'] -- Contient le chemin du script actuel. Ceci est utile lorsque la page doit pointer vers elle-même. __FILE__ contient le chemin absolu et le nom du fichier actuel (comme un fichier d'inclusion).

28. $_SERVER['REQUEST_URI'] -- L'URI requis pour accéder à cette page. Par exemple, "/index.html".

29. $_SERVER['PHP_AUTH_DIGEST'] -- Lors de l'exécution en tant que module Apache, lors du processus d'authentification HTTP Digest, cette variable est définie sur le contenu de l'en-tête HTTP "Autorisation" envoyé par le client (afin à d'autres opérations d'authentification).

30. $_SERVER['PHP_AUTH_USER']--Lorsque PHP s'exécute en mode module Apache ou IIS (PHP 5 est ISAPI) et que la fonction d'authentification HTTP est utilisée, cette variable est le nom d'utilisateur saisi par l'utilisateur.

31. $_SERVER['PHP_AUTH_PW'] -- Lorsque PHP s'exécute en mode module Apache ou IIS (PHP 5 est ISAPI) et que la fonction d'authentification HTTP est utilisée, cette variable est le mot de passe saisi par le utilisateur.

32. $_SERVER['AUTH_TYPE']--Lorsque PHP s'exécute en mode module Apache et que la fonction d'authentification HTTP est utilisée, cette variable est le type d'authentification.

Recommandations associées :

fonction php getenv() et putenv() et tutoriel $_SERVER_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!

Déclaration:
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