معلومات

العثور على جذر وثيقة PHP

العثور على جذر وثيقة PHP

جذر مستند PHP هو المجلد الذي يتم فيه تشغيل برنامج نصي PHP. عند تثبيت برنامج نصي ، يحتاج مطورو الويب غالبًا إلى معرفة جذر المستند. على الرغم من أن العديد من الصفحات التي يتم كتابتها باستخدام PHP تعمل على خادم Apache ، فإن بعضها يعمل تحت Microsoft IIS على Windows. يتضمن Apache متغير بيئة يسمى DOCUMENT_ROOT ، لكن IIS لا. نتيجة لذلك ، هناك طريقتان لتحديد موقع جذر مستند PHP.

العثور على جذر وثيقة PHP تحت اباتشي

بدلاً من إرسال دعم تقني لجذر المستند عبر البريد الإلكتروني وانتظار استجابة أحد الأشخاص ، يمكنك استخدام برنامج نصي PHP بسيط مع getenv () ، والذي يوفر اختصارًا على خوادم Apache إلى جذر المستند.

هذه الأسطر القليلة من التعليمات البرمجية بإرجاع جذر المستند.

العثور على جذر مستند PHP ضمن IIS

تم تقديم خدمات معلومات الإنترنت من Microsoft مع Windows NT 3.5.1 وتم تضمينها في معظم إصدارات Windows منذ ذلك الحين ، بما في ذلك Windows Server 2016 و Windows 10. ولا توفر اختصارًا لجذر المستند.

للعثور على اسم البرنامج النصي المُنفذ حاليًا في IIS ، ابدأ بالكود التالي:

getenv print ("SCRIPT_NAME") ؛

التي ترجع نتيجة مماثلة ل:

/product/description/index.php

وهو المسار الكامل للبرنامج النصي. لا تريد المسار الكامل ، فقط اسم ملف SCRIPT_NAME. للحصول عليه ، استخدم:

طباعة realpath (اسم الملف (getenv ("SCRIPT_NAME")))) ؛

التي ترجع نتيجة في هذا التنسيق:

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

لإزالة الرمز الذي يشير إلى الملف ذي الصلة بالموقع والوصول إلى جذر المستند ، استخدم الكود التالي في بداية أي برنامج نصي يحتاج إلى معرفة جذر المستند.

$ localpath = getenv ( "SCRIPT_NAME")؛

$ absolutepath = realpath ($ localPath)؛

/ / إصلاح مائلة ويندوز

$ absolutepath = str_replace ( ""، "/"، $ absolutepath)؛

$ docroot = SUBSTR ($ absolutepath، 0، strpos ($ absolutepath،

$ localpath))؛

// مثال للاستخدام

تشمل ($ docroot "/ يتضمن ملف config.php /")؛

هذه الطريقة ، على الرغم من أنها أكثر تعقيدًا ، تعمل على خوادم IIS و Apache.