Usando $ _SERVER in PHP

$ _SERVER è una delle variabili globali PHP, denominata Superglobals, che contiene informazioni su server e ambienti di esecuzione. Queste sono variabili predefinite, quindi sono sempre accessibili da qualsiasi classe, funzione o file.

Le voci qui sono riconosciute dai server Web, ma non esiste alcuna garanzia che ciascun server Web riconosca ogni Superglobal. Questi tre array PHP $ _SERVER si comportano tutti in modo simile: restituiscono informazioni sul file in uso. Se esposti a diversi scenari, in alcuni casi si comportano diversamente. Questi esempi possono aiutarti a decidere quale sia la migliore per ciò di cui hai bisogno. Un elenco completo di array $ _SERVER è disponibile sul sito Web di PHP.

$ _SERVER [ 'PHP_SELF']

PHP_SELF è il nome dello script attualmente in esecuzione.

  • http://www.yoursite.com/example/ - -> /example/index.php
  • http://www.yoursite.com/example/index.php - -> /example/index.php
  • http://www.yoursite.com/example/index.php?a=test - -> /example/index.php
  • http://www.yoursite.com/example/index.php/dir/test - -> / Dir / test

Quando usi $ _SERVER ['PHP_SELF'], restituisce il nome del file /example/index.php sia con che senza il nome del file digitato nell'URL. Quando le variabili sono state aggiunte alla fine, sono state troncate e di nuovo /example/index.php è stato restituito. L'unica versione che ha prodotto un risultato diverso ha le directory aggiunte dopo il nome del file. In quel caso, ha restituito quelle directory.

$ _SERVER [ 'REQUEST_URI']

REQUEST_URI si riferisce all'URI fornito per accedere a una pagina.

  • http://www.yoursite.com/example/ - -> /
  • http://www.yoursite.com/example/index.php - -> /example/index.php
  • http://www.yoursite.com/example/index.php?a=test - -> /example/index.php?a=test
  • http://www.yoursite.com/example/index.php/dir/test - -> /example/index.php/dir/test

Tutti questi esempi hanno restituito esattamente ciò che è stato inserito per l'URL. Restituiva un semplice /, il nome del file, le variabili e le directory aggiunte, proprio come sono state immesse.

$ _SERVER [ 'SCRIPT_NAME']

SCRIPT_NAME è il percorso dello script corrente. Questo è utile per le pagine che devono puntare a se stesse.

  • http://www.yoursite.com/example/ - -> /example/index.php
  • http://www.yoursite.com/example/index.php - -> /example/index.php
  • http://www.yoursite.com/example/index.php?a=test - -> /example/index.php
  • http://www.yoursite.com/example/index.php/dir/test - -> /example/index.php

Tutti i casi qui hanno restituito solo il nome del file /example/index.php indipendentemente dal fatto che sia stato digitato, non digitato o che sia stato aggiunto qualcosa.