შეიძლება ითქვას, რომ სუპერგლობალური მასივი – $_SERVER, არის ერთ-ერთი მნიშვნელოვანი მასივი/ფუნქცია PHP-ში, მისი მეშვეობით ჩვენ ვიღებთ ინფორმაციას სერვერიდან. ამ ინფორმაციის გარეშე ჩვენი ვებ აპლიკაცია ვერ იქნებოდა სრულყოფილი. ამ სტატიაში აღვწერ ყველაზე ხშირად გამოყენებად და მნიშვნელოვან პარამეტრებს ამ მასივისა.

superglobals

სუპერგლობალური მასივი - $_SERVER

$_SERVER -ის ყველა ცვლადის ნახვა თქვენ შეგეძლებათ ან ფუნქციით print_r, ან phpinfo();-ს ეკრანზე გამოსახულებით.

$_SERVER['DOCUMENT_ROOT']

ელემენტი, $_SERVER['DOCUMENT_ROOT'] შეიცავს სერვერის მთავარი დირექტორიის ადგილსამყოფელს, თუ რომელ ფოლდერშია იგი მოთავსებული, და რა ჰქვია თვითონ ამ ფოლდერს – მთავარ დირექტორიას.

$_SERVER['HTTP_ACCEPT']

ეს ელემენტ შეიცავს, იმ ფაილების დასაჩვებ ფორმატებს, რომლებზეც ხდება სერვერზე მუშაობა, მათი სია შეიძლება იყოს შემდეგნაირი:

  • image/gif,
  • image/x-xbitmap,
  • image/jpeg,
  • image/pjpeg,
  • application/x-shockwave-flash,
  • application/vnd.ms-excel,
  • application/msword
  • */*

ვარსკვლავის ნიშანი (*) გამოიყენება მედია ტიპების გასაერთიანებლად…

აი მაგალითად თუ შეგხვდება ასეთი ტიპი type/* ეს იმაშ ნიშნავს რომ, დაშვებულია ყველა მედია ტიპთან მუშაობა, ხოლო ტუ კი */* – მაშინ ეს ნიშნავს, რომ დაშვებულია ნებისმიერი ფაილითან მუშაობა სერვერზე და ა.შ.

$_SERVER['HTTP_HOST']

ამ ელემენტის მეშვეობით, ჩვენ ვიგებთ დომენის სახელს, მხოლოდ დომენს, http://-ს გარეშე, მაგალითად: landish.ge და არა – http://landish.ge, ანალოგიურია $_SERVER['SERVER_NAME'] ელემენტიც.

$_SERVER['HTTP_REFERER']

ამ პარამეტრის მეშვეობით ჩვენ შეგვიძლია გავიგოთ, თუ საიდან მოხვდა კონკრეტულ გვერდზე ესა თუ ის მომხმარებელი, ამისთვის აუცილებელია, რომ გვერდიდან გვერდზე გადასვლა ხდებოდეს ბმულებს საშუალებით.

$_SERVER['HTTP_USER_AGENT']

ეს ელემენტი შიეცავს ინფორმაციას, მომხმარებლის ოპერატიულ სისტემასა და ბრაუზერის შესახებ.

მაგალითად ეს კოდი: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) გვეუბნება იმის შესახებ, რომ მომხმარებელი ნახულობს ამ გვერდს Internet Explorer 6.0 ვერსიით (MSIE 6.0), ხოლო მისი ოპერაიული სისტემა გახლავთ Windows XP (Windows NT 5.1).

$_SERVER['REMOTE_ADDR']

ეს ელემენტი კი, გვიჩვენებს მომხმარებლის IP მისამართს. ამ სკრიპტის ლოკალურ სერვერზე დატესტვისას მივიღებთ შედეგს: 127.0.0.1

$_SERVER['SCRIPT_FILENAME']

ამ ელემენტში თავსდება ფაილის სრული გზა, მთავარი დირექტორიიდან სრკტიპის სახელის ჩათვლით. აი მაგალითად, ტუ სერვერი აყენია Windows-ის ოპერატიულ სისტემაზე, მაშინ ეკრანზე მსგავს შეტყობინებას მივიღებთ:

C:\Server\test\filename.php

ხოლო, თუ გვიყენია Unix სისტემაზე მაშინ:

/var/test/filename.php

$_SERVER['REQUEST_METHOD']

ამ ელემენტის მეშვეობით ჩვენ გავიგებთ, თუ რა მეთოდით იყო გაგზავნილი ან მიღებული პარამეტრები სერვერიდან, GET თუ POST მეთოდით.

$_SERVER['QUERY_STRING']

ამ ელემენტში გადაეცემა ის პარამეტრები და მნიშვნელობები, რომლებიც გადაცემული იქნებაა GET მეთოდით, ანუ გამოჩენილი იქნა ბრაუზერის მისამართების ველში, მაგალითად:

[html]http://landish.ge/test/test.php?param1=value1&param2=value2&param3=value3 [/html]

ხოლო, $_SERVER[’QUERY_STRING’] ელემენტში გადაეცემა ყველა ის მნიშვნელობა, რომელიც კითხვის ნიშნის (?) შემდეგ დაიწერა, ანუ

[html]param1=value1&param2=value2&param3=value3[/html]

$_SERVER['PHP_SELF']

ამ ელემენთში მოთავსებულია ფაილის სახელი და სრული გზა მისი ადგილმდებარეობისა. მაგალითად თუ ბრაუზერში აკრეფილია მისამართი

[html]http://landish.ge/test/test.php?param1=value1&param2=value2&param3=value3[/html]

მაშინ ამ ელემენტის მნიშვნელობა იქნება /test/test.php

$_SERVER['REQUEST_URI']

ამ ელემენტში კი გამოისახება GET მეთოდით გადაცემული პარამეტრები და მათი მნიშვნელობები, რომლებიც იწყება ფაილის მდებარეობის მთავარი დირექტორიიდან, ფაილის სახელით და ამ პარამეტრ/მნიშვნელობებით, მაგალითად თუ მისამართი შემდეგია:

[html]http://landish.ge/test/test.php?param1=value1&param2=value2&param3=value3[/html]

ელემენტ $_SERVER['REQUEST_URI']-ის მნიშვნელობა იქნება

[html]/test/test.php?param1=value1&param2=value2&param3=value3[/html]

ეს კი პატარა სკრიტპი ბრაუზერში აკრეფილი სრული მისამართის გასაგებად:

[php]<?php
echo "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>[/php]

დამატებით შეგიძლიათ გადაიკითხოთ ეს სტატიაც. (ინგლისურ ენაზე)