Məlumat

PHP sənəd kökünü tapmaq

PHP sənəd kökünü tapmaq

PHP sənəd kökü bir PHP skriptinin işlədiyi qovluqdur. Bir skript qurarkən veb tərtibatçılar tez-tez sənəd kökünü bilməlidirlər. PHP ilə işlənmiş bir çox səhifənin Apache serverində işləməsinə baxmayaraq, bəziləri Windows-da Microsoft IIS altında işləyir. Apache DOCUMENT_ROOT adlı bir mühit dəyişənini ehtiva edir, lakin IIS yoxdur. Nəticədə, PHP sənəd kökünü tapmaq üçün iki üsul var.

Apache altında PHP sənəd kökünü tapmaq

Sənəd kökü üçün texniki dəstək göndərmək və kiməsə cavab verməsini gözləmək əvəzinə sənəd kökünə Apache serverlərində qısa yol təqdim edən getenv () ilə sadə bir PHP skriptindən istifadə edə bilərsiniz.

Bu bir neçə kod xətti sənəd kökünü qaytarır.

IIS altında PHP sənəd kökünü tapmaq

Microsoft-un İnternet Məlumat Xidmətləri Windows NT 3.5.1 ilə tanış oldu və Windows Server 2016 və Windows 10 da daxil olmaqla o vaxtdan bəri əksər Windows relizlərinə daxil edilmişdir. Sənəd kökünə qısa yol təqdim etmir.

IIS-də hazırda icra olunan skriptin adını tapmaq üçün bu koddan başlayın:

çap getenv ("SCRIPT_NAME");

oxşar nəticəni qaytarır:

/ məhsul / təsviri/index.php

bu ssenarinin tam yolu. Tam yolu istəmirsiniz, yalnız SCRIPT_NAME üçün faylın adı. Bunu almaq üçün istifadə edin:

realpath (basename (getenv ("SCRIPT_NAME"))) yazdırın;

bu formatda bir nəticə qaytarır:

/usr/local/apache/share/htdocs/product/description/index.php

Saytla əlaqəli faylı göstərən kodu silmək və sənəd kökünə gəlmək üçün sənəd kökünü bilməli olan hər hansı bir skriptin başında aşağıdakı kodu istifadə edin.

$ localpath = getenv ("SCRIPT_NAME");

$ absutepath = realpath ($ localPath);

// Windows boşluqlarını düzəldin

$ absutepath = str_replace ("", "/", $ absutepath);

$ docroot = substr ($ absutepath, 0, strpos ($ absutepath,

$ lokal yol));

// istifadə nümunəsi

daxildir ($ docroot. "/ daxildir / config.php");

Bu üsul daha mürəkkəb olsa da, həm İIS, həm də Apache serverlərində işləyir.