استرجع عنوان URL الكامل في PHP

Retrieve Full Url Php



يمكن استخدام نوعين من المتغيرات العامة في PHP: المتغير الشامل والمتغير الذي يحدده المستخدم. _SERVER دولار هو متغير مصفوفة عمومية فائقة تُستخدم لاسترداد المسار الكامل للصفحة الحالية. بروتوكول (HTTP أو HTTPS) الخاص بعنوان URL مطلوب أيضًا للحصول على عنوان URL الكامل للصفحة. لو $ _SERVER ['HTTPS'] عائدات 'تشغيل'، ثم سيتم استخدام HTTPS مع عنوان URL ، وإلا ، HTTP سوف يستخدم. كيف يمكن استرجاع عنوان URL الكامل للصفحة الحالية باستخدام امتداد _SERVER دولار تم شرح مجموعة في هذا البرنامج التعليمي.

المتغيرات الضرورية

المتغيرات العالمية الفائقة التالية مطلوبة لمعرفة عنوان URL للصفحة الحالية.







متغيرات Superglobal المقاصد
$ _SERVER ['HTTPS'] يعود تشغيل إذا تم استخدام بروتوكول HTTPS في عنوان URL للصفحة الحالية.
$ _SERVER ['HTTP_HOST'] تقوم بإرجاع اسم خادم الصفحة الحالية.
_SERVER $ ['REQUEST_URI'] تقوم بإرجاع اسم المورد المطلوب.
$ _SERVER ['SERVER_PORT'] تقوم بإرجاع رقم منفذ الخادم.
$ _SERVER ['QUERY_STRING'] تقوم بإرجاع قيمة سلسلة الاستعلام إذا كانت موجودة في عنوان URL للصفحة الحالية.

مثال 1: اعرض عنوان URL للصفحة الحالية باستخدام عبارة شرطية

يوضح المثال التالي كيف يمكن استخدام العبارة الشرطية للحصول على البروتوكول المستخدم في عنوان URL للصفحة الحالية. أنشئ ملف PHP بالنص التالي.



تُستخدم قيمة $ _SERVER ['HTTP_HOST'] للحصول على اسم المجال لعنوان URL الحالي. يتم استخدام قيمة _SERVER $ ['REQUEST_URI'] للحصول على اسم المورد المطلوب. ذهب) يتم استخدام الوظيفة للتحقق مما إذا كان $ _SERVER [‘HTTPS’] مجموعة أم لا ، وإذا تم تعيينها ، فتحقق من قيمة $ _SERVER [‘HTTPS’] هل هي تشغيل أم لا. بعد ذلك ، يتم دمج قيم هذه المتغيرات الثلاثة مع '//:' لاسترداد عنوان URL الكامل للصفحة الحالية.




// اقرأ اسم المجال للصفحة الحالية
المجال $ = _SERVER دولار['HTTP_HOST']؛
// اقرأ المورد المطلوب
الموارد $ = _SERVER دولار['REQUEST_URI']؛
// اكتشف بروتوكول عنوان url الحالي
لو( ذهب (_SERVER دولار['HTTPS']) && _SERVER دولار['HTTPS'] === 'تشغيل')
البروتوكول $ = 'https'؛
آخر
البروتوكول $ = 'http'؛

// اجمع كل الأجزاء للحصول على عنوان URL الكامل
$ url = البروتوكول $.': //'.المجال $.الموارد $؛
// طباعة عنوان URL للصفحة الحالية
رما - طرد - قذف '

عنوان URL الحالي
الصفحة هي:

'
. $ url؛؟>

انتاج:





سيظهر الإخراج التالي بعد تشغيل البرنامج النصي من الخادم. قيمة $ _SERVER ['HTTPS'] ليست كذلك تشغيل للخادم المحلي. لذلك يظهر الإخراج ملف http بروتوكول لعنوان URL الحالي.



مثال 2: اعرض عنوان URL للصفحة الحالية باستخدام عامل التشغيل الثلاثي

يوضح المثال التالي طريقة الحصول على عنوان URL الكامل للصفحة الحالية باستخدام عامل التشغيل الثلاثي. أنشئ ملف PHP بالنص التالي.

لو تم استخدام الشرط في المثال السابق لمعرفة البروتوكول المستخدم في عنوان URL للصفحة الحالية. يتم تنفيذ نفس المهمة باستخدام عامل التشغيل الثلاثي في ​​هذا البرنامج النصي. ذهب) يتم استخدام الوظيفة للتحقق مما إذا كان $ _SERVER [‘HTTPS’] مجموعة أم لا ، وما إذا كانت قيمة $ _SERVER [‘HTTPS’] تشغيل، ثم سيعيد المشغل الثلاثي HTTPS ، وإلا فإنه سيعيد HTTP. يتم استرداد الأجزاء الأخرى من عنوان URL وطباعتها مثل المثال السابق.


// اكتشف بروتوكول عنوان url الحالي
البروتوكول $ = ( ذهب (_SERVER دولار['HTTPS']) && _SERVER دولار['HTTPS']
== 'تشغيل'؟'https' : 'http')؛
// اقرأ اسم المجال للصفحة الحالية
المجال $ = _SERVER دولار['HTTP_HOST']؛
// اقرأ المورد المطلوب
الموارد $ = _SERVER دولار['REQUEST_URI']؛
// اجمع كل الأجزاء للحصول على عنوان URL الكامل
$ url = البروتوكول $.': //'.المجال $.الموارد $؛
// طباعة عنوان URL للصفحة الحالية
رما - طرد - قذف '

عنوان URL للصفحة الحالية هو:

'
. $ url؛
؟>

انتاج:

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي من الخادم. قيمة $ _SERVER ['HTTPS'] ليست كذلك تشغيل للخادم المحلي. لذا يُظهر الإخراج بروتوكول HTTP لعنوان URL الحالي.

مثال 3: اعرض عنوان URL للصفحة الحالية بناءً على رقم المنفذ

في المثالين السابقين ، تم استخدام قيمة $ _SERVER ['HTTPS'] لاكتشاف بروتوكول عنوان URL الحالي للصفحة ، ولا يتم استخدام أي سلسلة استعلام مع عنوان URL. يوضح المثال التالي كيف يمكن استخدام المتغير $ _SERVER ['SERVER_PORT'] لاكتشاف البروتوكول واسترداد عنوان URL الكامل مع سلسلة الاستعلام. أنشئ ملف PHP بالنص التالي.

هنا ، يتم استخدام الشروط المنطقية المتعددة والعامل الثلاثي لمعرفة البروتوكول. إذا كانت قيمة $ _SERVER ['HTTPS'] فارغة أو مضبوطة على إيقاف، ثم يتحقق من قيمة $ _SERVER [‘SERVER_PORT’] لاكتشاف بروتوكول عنوان URL الحالي. يستخدم المتغير $ _SERVER ['QUERY_STRING'] لاسترداد قيمة سلسلة الاستعلام من عنوان URL.


// اكتشف بروتوكول عنوان url الحالي
البروتوكول $ = ((! فارغة (_SERVER دولار['HTTPS']) && _SERVER دولار['HTTPS']
! = 'إيقاف') || _SERVER دولار['SERVER_PORT'] == 443)؟'https: //' : 'http: //'؛
// اقرأ اسم المجال للصفحة الحالية
المجال $ = _SERVER دولار['HTTP_HOST']؛
// اقرأ المورد المطلوب
الموارد $ = _SERVER دولار['REQUEST_URI']؛
// اقرأ قيمة سلسلة الاستعلام
استعلام دولار = _SERVER دولار['QUERY_STRING']؛
// اجمع كل الأجزاء للحصول على عنوان URL الكامل
$ url = البروتوكول $.المجال $.الموارد $؛
// طباعة عنوان URL للصفحة الحالية
رما - طرد - قذف '

عنوان URL الكامل للصفحة الحالية هو:

'
. $ url؛
// طباعة جزء سلسلة الاستعلام
رما - طرد - قذف '

سلسلة الاستعلام هي:

'
. استعلام دولار؛
؟>

انتاج:

سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه من الخادم دون أي سلسلة استعلام. لم يتم توفير سلسلة استعلام في عنوان URL. لذلك يظهر الناتج سلسلة الاستعلام الفارغة.

سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه من الخادم بسلسلة الاستعلام. يُظهر الإخراج التالي عنوان URL مع سلسلة الاستعلام وسلسلة الاستعلام بشكل منفصل.

استنتاج

يتم عرض طرق مختلفة لاسترداد عنوان URL الكامل للصفحة الحالية في هذا البرنامج التعليمي باستخدام أمثلة مختلفة. تظهر أيضًا طريقة فصل عنوان URL وسلسلة الاستعلام في هذا البرنامج التعليمي. نأمل أن يساعد هذا البرنامج التعليمي القراء على معرفة طريقة قراءة عنوان URL الكامل للصفحة الحالية باستخدام برنامج PHP النصي.