حياة

باستخدام $ _SERVER في PHP

باستخدام $ _SERVER في PHP

$ _SERVER هو أحد Superglobals المتغيرات العالمية التي يطلق عليها PHP والتي تحتوي على معلومات حول بيئات الخادم والتنفيذ. هذه متغيرات محددة مسبقًا بحيث يمكن الوصول إليها دائمًا من أي فئة أو وظيفة أو ملف.

يتم التعرف على الإدخالات هنا من قبل خوادم الويب ، ولكن ليس هناك ما يضمن أن كل خادم ويب يتعرف على كل Superglobal. تتصرف مصفوفات PHP $ _SERVER الثلاثة جميعًا بطرق مشابهة ، حيث تقوم بإرجاع معلومات حول الملف قيد الاستخدام. عندما تتعرض لسيناريوهات مختلفة ، في بعض الحالات تتصرف بشكل مختلف. قد تساعدك هذه الأمثلة على تحديد الأفضل لما تحتاج إليه. تتوفر قائمة كاملة بمصفوفات $ _SERVER على موقع PHP الإلكتروني.

$ _SERVER'PHP_SELF "

PHP_SELF هو اسم البرنامج النصي الذي يتم تنفيذه حاليًا.

  • //www.yoursite.com/example/ - -> /example/index.php
  • //www.yoursite.com/example/index.php - ->/example/index.php
  • //www.yoursite.com/example/index.php؟a=test - ->/example/index.php
  • //www.yoursite.com/example/index.php/dir/test - ->/ دير / اختبار

عندما تستخدم $ _SERVER'PHP_SELF '، فإنها تُرجع اسم الملف / مثال / index.php مع اسم الملف المكتوب في عنوان URL أو بدونه. عندما يتم إلحاق المتغيرات في النهاية ، تم اقتطاعها / مرة أخرى تم إرجاع /example/index.php. يحتوي الإصدار الوحيد الذي أنتج نتيجة مختلفة على أدلة يتم إلحاقها بعد اسم الملف. في هذه الحالة ، أعادت تلك الدلائل.

$ _SERVER'REQUEST_URI "

يشير REQUEST_URI إلى URI الممنوح للوصول إلى صفحة.

  • //www.yoursite.com/example/ - ->/
  • //www.yoursite.com/example/index.php - ->/example/index.php
  • //www.yoursite.com/example/index.php؟a=test - ->/example/index.php؟a=test
  • //www.yoursite.com/example/index.php/dir/test - ->/example/index.php/dir/test

عرضت كل هذه الأمثلة بالضبط ما تم إدخاله لعنوان URL. لقد قام بإرجاع عادي / ، واسم الملف ، والمتغيرات ، والأدلة الملحقة ، كل ذلك بمجرد إدخالها.

$ _SERVER'SCRIPT_NAME "

SCRIPT_NAME هو مسار البرنامج النصي الحالي. يأتي هذا مفيدًا للصفحات التي تحتاج إلى الإشارة إلى نفسها.

  • //www.yoursite.com/example/ - ->/example/index.php
  • //www.yoursite.com/example/index.php - ->/example/index.php
  • //www.yoursite.com/example/index.php؟a=test - ->/example/index.php
  • //www.yoursite.com/example/index.php/dir/test - ->/example/index.php

لم تعيد جميع الحالات هنا سوى اسم الملف / مثال / index.php بصرف النظر عما إذا كان قد تم كتابته أم لا ، أو تم إلحاق أي شيء به.