آموزش کامل PHP – قسمت یازدهم: متغیرهای پیش فرض

متغیرهای پیش فرض

در قسمت های قبلی آموزش php گفتیم که در نام گذاری ها نباید از نام های رزرو شده استفاده کنیم. برخی از نام های رزرو همان متغیرهای پیش فرض php هستند. با دانستن نام این متغیر ها و استفاده از آن ها به امکانات خوبی در برنامه نویسی دسترسی خواهیم داشت. در زیر به یکی از این متغیرها اشاره شده:

متغیر SERVER_$

این متغیر در واقع یک آرایه از داده‌ها است که در آن اطلاعاتی از قبیل هدرها (Headers)، مسیرها (Paths) و … وجود دارد. همانطور که در بخش آرایه‌ها توضیح دادیم برای دسترسی به هر عضو یک آرایه باید نام آن عضو را در مقابل نام آرایه به‌کار ببرید. در مورد آرایه SERVER_$ باید از کدی شبیه به کد زیر استفاده کنید:

<?php

echo $_SERVER ['SCRIPT_NAME'];

?>

کد فوق را در یک فایل php نوشته و آن را در سرور مجازی خود قرار دهید. بعد از اجرا باید مسیر جاری فایل در مرورگر شما نمایش داده شود. حال کد زیر را اجرا کنید:

<?php

echo $_SERVER ['HTTP_HOST'];

<?

کد فوق هدر هاست کنونی را به شما نشان می دهد. مثلا در سرور محلی 127.0.0.1 را نشان می دهد.

 شاید این پرسش برای شما به وجود بیاید که این کدها چه کاربردی می تواند داشته باشد. فرض کنید تصاویر زیادی روی سرور شما وجود دارد و شما تصمیم می گیرید که مسیر آن ها را روی سرور تغییر بدهید. در این صورت باید هر جا که از آن تصاویر استفاده کرده اید آن ها را تغییر بدهید که این کار بسیار وقت گیر است. برای این کار کافی است تا یک فایل config.php ساخته و کد زیر را در آن قرار دهید.

<?php

$host = $_SERVER ['HTTP_HOST'];

$image_path = $host . '/images/';

<?

 در کد فوق ابتدا هدر هاست را در متغیر جدیدی به نام host قرار داده ایم، سپس مسیر جدیدی را با ترکیب متغیر host در متغیری به نام image_path به وجود آورده ایم. مسیر جدید پوشه ای به نام images است.

نکته: اگر دقت کرده باشید بین متغیر host و مسیر ‘/images/’ از یک نقطه استفاده کرده ایم. در پی‌اچ‌پی برای اتصال رشته‌های متنی به یکدیگر و نیز اتصال متغیرها به یکدیگر و همچنین اتصال متغیر‌ها به رشته‌های متنی می‌توانید از نقطه استفاده کنید.

حالا در فایل‌های پروژه خود هر کجا که بخواهیم از عکس‌های جدید استفاده کنیم کافی است ابتدا فایل Config.php که در بالا ایجاد کردیم را به صفحه include یا require اضافه کنیم و سپس از متغیر image_path در هرجا که خواستیم استفاده کنیم. به مثال زیر توجه کنید:

<?php

require ("config.php");

echo '<img src= '. $image_path . header.jpg'>';

<?

در جدول زیر لیست سایر اعضای آرایه SERVER_$ را که می توانید از آن ها استفاده کنید آورده ایم.

جدول اعضای آرایه SERVER_$ در PHP
نام فایل کنونی که در سرور اجرا شده را بر می‌گرداند $_SERVER[‘PHP_SELF’]
آدرس آی‌پی سرور کنونی را بر می‌گرداند $_SERVER[‘SERVER_ADDR’]
نام سرور کنونی را بر می‌گرداند $_SERVER[‘SERVER_NAME’]
هدر هاست کنونی را بر می‌گرداند $_SERVER[‘HTTP_HOST’]
آی‌پی سروری قبلی‌ای که کاربر از آن به سایت ما وارد شده را بر می‌گرداند $_SERVER[‘REMOTE_ADDR’]
پورت دستگاهی که کاربر از طریق آن با سرور ارتباط برقرار کرده را بر می‌گرداند $_SERVER[‘REMOTE_PORT’]
نام مسیر دقیق فایلی که فراخوانی شده را بر می‌گرداند $_SERVER[‘SCRIPT_FILENAME’]
پورتی که سرور از آن برای ارتباطات خود استفاده می‌کند را برمی‌گرداند $_SERVER[‘SERVER_PORT’]
نام دقیق فایلی که فراخوانی شده را بر می‌گرداند $_SERVER[‘SCRIPT_NAME’]
آدرس URI $_SERVER[‘REQUEST_URI’]

می توانید تک تک موارد فوق را تمرین کنید و نتیجه آن را در مرورگر خود مشاهده کنید.