Constante şi variabile PHP

Constante PHP predefinite

Definire Constanta Exemplificare
Calea fişierului curent (cu tot cu cale) __FILE__ localhost:

  • D:\wamp64\www\antren\test.php

server:

  • /var/www/html/antren/test.php
Numele folderului curent (cu tot cu cale) __DIR__ localhost:

  • D:\wamp64\www\antren

server:

  • /var/www/html/antren/
Numele fişierului curent basename(__FILE__) localhost:

  • test.php

server:

  • test.php
Numele folderului curent basename(__DIR__) localhost:

  • antren

server:

  • antren
Numărul liniei în care se află constanta __LINE__ localhost:

  • 117

server:

  • 117
Versiunea interpretorului PHP PHP_VERSION localhost:

  • 7.3.21

server:

  • 7.4.22
Sistemul de operare al calculatorului pe care funcţionează interpretorul PHP PHP_OS localhost:

  • WINNT

server:

  • Linux

Variabile APACHE

Definire Variabila Exemplificare
Numele serverului $_SERVER[‘SERVER_NAME’] $_SERVER[‘HTTP_HOST’] localhost:

  • localhost 

server:

  • www.nume-site.ro
Protocolul utilizat $_SERVER[‘SERVER_PROTOCOL’] localhost:

  • HTTP/1.1

server:

  • HTTP/1.1
Protocolul utilizat de server $_SERVER[‘SERVER_PORT’] localhost:

  • 80

server:

  • 443
Protocolul utilizat de client $_SERVER[‘REMOTE_PORT’] localhost:

  • 65379

server:

  • 65495
Versiunea serverului $_SERVER[‘SERVER_SIGNATURE’] $_SERVER[‘SERVER_SOFTWARE’] localhost:

  • Apache/2.4.46 (Win64) PHP/7.3.21 Server at localhost Port 80
  • Apache/2.4.46 (Win64) PHP/7.3.21

server:

  • Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.22
Calea absolută a scriptului $_SERVER[‘SCRIPT_FILENAME’] localhost:

  • D:/wamp64/www/antren/test.php

server:

  • /var/www/html/antren/test.php
Calea de la folderul aplicaţiei la fişierul curent $_SERVER[‘PHP_SELF’]
  • /antren/adm/index.php
Directorul rădăcină $_SERVER[‘DOCUMENT_ROOT’] localhost:

  • D:/wamp64/www

server:

  • /var/www/html/
URI-ul paginii care cere pagina curentă $_SERVER[‘REQUEST_URI’] $_SERVER[‘SCRIPT_NAME’] $_SERVER[‘HTTP_REFERER’] localhost:

  • /antren/test.php
  • /antren/test.php
  • http://localhost/antren/

server:

  • /antren/test.php
  • /antren/test.php
  • https://www.nume-site.ro/text.php
Browserul utilizat $_SERVER[‘HTTP_USER_AGENT’] localhost:

  • Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0

server:

  • Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0
Adresa calculatorului utilizatorului $_SERVER[‘REMOTE_ADDR’] $_SERVER[‘SERVER_ADDR’] localhost:

  • 127.0.0.1

server:

  • 85.111.11.26
Metoda utilizată $_SERVER[‘REQUEST_METHOD’] localhost:

  • GET

server:

  • POST
Directorul SERVER_ADMIN $_SERVER[‘SERVER_ADMIN’] localhost:

  • wampserver@wampserver.invalid

server:

  • nume.admin@mail.co
Time of the current request from web server $_SERVER[‘REQUEST_TIME’] $_SERVER[‘REQUEST_TIME_FLOAT’] localhost:

  • 1648630783
  • 1648630783.3066

server:

  • 1648629889
  • 1648629889.3037
HTTP ACCEPT $_SERVER[‘HTTP_ACCEPT’] localhost:

  • text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

server:

  • text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
HTTP ACCEPT ENCODING $_SERVER[‘HTTP_ACCEPT_ENCODING’] localhost:

  • gzip, deflate

server:

  • gzip, deflate, br
HTTP ACCEPT LANGUAGE $_SERVER[‘HTTP_ACCEPT_LANGUAGE’] localhost:

  • en-US,en;q=0.5

server:

  • en-US,en;q=0.5
HTTP CONNECTION $_SERVER[‘HTTP_CONNECTION’] localhost:

  • keep-alive

server:

  • keep-alive

GETCWD

Comanda getcwd() poate fi utilă dacă este necesar să fie afişat folderul curent.

Dacă această comandă este plasată, de exemplu într-un fişier din subfolderul „includes”, şi accesăm de acolo fişierul, atunci calea va arăta ca în exemplul de mai jos:

Chiar dacă comanda getcwd() este plasată in subfolderul „includes”, dar accesăm index.php, care are inclus fişierul din „includes”, calea va fi cea pentru index.php:

PATHINFO

Cu ajutorul funcţiei pathinfo() putem afişa, după cum urmează:

  • PATHINFO_DIRNAME – folderul curent (de exemplu pathinfo($_SERVER['PHP_SELF'], PATHINFO_DIRNAME) // afişează /antren/adm/); 
  • PATHINFO_BASENAME – fişierul curent (de exemplu pathinfo($_SERVER['PHP_SELF'], PATHINFO_BASENAME ) // afişează login.php); 
  • PATHINFO_EXTENSION – fişierul curent (de exemplu pathinfo($_SERVER['PHP_SELF'], PATHINFO_EXTENSION ) // afişează doar php (nu .php)); 
  • PATHINFO_FILENAME – fişierul curent, fără extensie (de exemplu pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME ) // afişează doar admin (nu admin.php)

Exemple de căi de acces

Comparaţie între ISSET(), IS_NULL(), EMPTY()

Diferenţele dintre cele trei fncţii sunt evidenţiate bine în tabelul de mai jos (sursa: SitePoint.com)

  “” “foo” NULL FALSE 0 undefined
empty() True False True True True True
is_null() False False True False False True (error)
isset() True True False True True False