با سلام به شما خوبان .در این بخش به اموزش مدیریت مرور گر های مختلف در PHP میپردازیم، می آموزیم که چگونه PHP بسته به نوع مرورگر، محتوای هوشمند را با به کارگیری ارقام به صورت تصادفی ساخته شده یا ورودی کاربر، فراهم می سازد. همچنین به شما روش تغییر مسیر مرورگر آموزش داده می شود.

identifying platform & browser {شناساندن یا همانند کردن محیط و مرورگر}

PHP متغیرهای محیطی مناسبی را فراهم می کند که شما می توانید در صفحه ی phpinfo. php مشاهده کنید. این متغیرهای محیطیPHP برای راه اندازی و طراحی محیط PHP به کار گرفته شده است.

PHP برای بازشناسی سیستم عامل و مرورگر از متغیر محیطی (HTTP-USER-AGENT) استفاده می کند. PHP برای دستیابی به مقادیر متغیرهای محیطی، تابع getenv()را در اختیار شما قرار می دهد. با کمک اطلاعاتی که درون متغیرهای محیطی HTTP_USER_AGENT وجود دارد شما می توانید محتوای پویایی متناسب با مرورگر بسازید.

با مثال زیر شما با روش بازشناسی مرورگر و سیستم عامل کاربر آشنا می شوید.

‎‎

‎‎

‎ ‎

‎‎

‎‎

این فرایند نتیجه ی زیر را بر روی سیستم عامل به دست می دهد. نتیجه ممکن است بنا به برنامه ای که استفاده می کنید بر روی رایانه ی شما متفاوت باشد.

You are using Mozilla! on Windows!

تصاویر را به صورت تصادفی نشان می دهد.
PHP، تابع rand() را به منظور تولید یک رقم تصادفی به کار می گیرد؛ این تابع قادر است در محدوده ی مشخص شده ارقامی را به وجود بیاورد. برای جلوگیری از ایجاد الگوی منظم اعداد، {تولیدگر ارقام تصادفی}random number generator یا همان تابع rand()باید مقداردهی شود. با استفاده از تابع srand()، که مقدار اولیه (seed) را به عنوان پارامتر مشخص می کند، حاصل می گردد.

مثال زیر چگونگی نمایش یک تصویر از چهار تصویر مختلف را نمایش می دهد.

‎‎

‎‎

‎ <?php‎

‎ srand( microtime() * 1000000 );‎

‎ $num = rand( 1‎، ‏‎ ۴ );‎

‎ switch( $num )‎

‎ {‎

‎ case 1: $image_file = "/home/images/alfa. jpg";‎

‎ break;‎

‎ case 2: $image_file = "/home/images/ferrari. jpg";‎

‎ break;‎

‎ case 3: $image_file = "/home/images/jaguar. jpg";‎

‎ break;‎

‎ case 4: $image_file = "/home/images/porsche. jpg";‎

‎ break;‎

‎ }‎

‎ echo "Random Image : “;‎

‎ ?>‎

‎‎

‎‎

استفاده از از فرمهای html

مهمترین موضوعی که در هنگام کار با فرمهای php و html باید به آنها توجه کرد، این است که هر یک از عناصر فرم در صفحه html باید بطور اتوماتیک در اسکریپت php قابل دسترس باشد.

مثال زیر را با قرار دادن کد زیر در test.php script انجام دهید.

‎<?php‎

‎ if( $_POST["name"] || $_POST["age"] )‎

‎ {‎

‎ echo "Welcome ". $_POST['name']. "
“;‎

‎ echo “You are “. $_POST[‘age’]. ” years old. “;‎

‎ exit();‎

‎ }‎

‎?>‎

‎‎

‎‎

‎ <form action="” method=”POST”>‎

‎ Name: ‎

‎ Age: ‎

‎ ‎

‎‎

‎‎

درPHP از مقدار پیش فرض متغیر $_PHP_SELF نام اسکریپت PHP استفاده می شود وهنگامی که شما کلید “submit” را کلیک می کنید PHP مشابهی صدا زده می شود و پروسه زیر را نتیجه می دهد.

برای فرستادن اطلاعات کاربر به سرور script {پردازه ی سرویس} از متد {method } “post ” باید استفاده شود.

تغییر دهی مسیر مرورگر {browser redirecting}

تابع header() در PHP یک {header} خام برای مرورگر فراهم می کند، که از آن برای redirect کردن و تغییر مسیر مرورگر به مسیر و مکان دیگر استفاده می شود. برای اینکه از بارگذاری هر جز دیگر از صفحه جلوگیری شود تغییر مسیر script باید حتما در بالای صفحه قرار داشته باشد.

target توسط location:header به عنوان آرگومان به تابع header() مشخص می شود. پس از فراخوانی این تابع، می توان ازexit() برای قطع کردن فرآیند parsing بقیه ی کد استفاده کرد.

این مثال به شما نمایش می دهد چگونه درخواست مرورگر را به صفحه ی وب دیگری ارجاع دهید.

می توانید مثال زیر را خود با قرار دادن {متن برنامه} در script test.php امتحان کنید.

‎‎

‎‎

‎‎

Choose a site to visit :

‎ <form action="” method=”POST”>‎

‎ ‎

‎ ‎

‎ World Wise Web Consortium

‎ ‎

‎ ‎

‎ Google Search Page

‎ ‎

‎ ‎

‎ ‎

‎‎

‎‎

نشان دادن “FILE DOWNLOAD” در کادر مکالمه {dialog box}

گهگاهی مایل هستیم گزینه {option} را در صحفه ی وب در اختیار کاربر قرار دهید که کاربر با کلیک آن به جای محتویات اصلی از صحفه ی وب کادر “file download” را دریافت می کند. این کار را می توانید به آسانی از طریق header http، انجام دهید.

البته سربرگ یا هدر http با هدر واقعی و اصلی که به کمک آن content-type را به عنوان text/html/n/n ارسال می کند، متفاوت خواهد بود. در این مورد نوع محتوا application/octet-stream و اسم فایل اصلی همراه با آن ادغام می شود.

برای مثال، اگر شما بخواهید یک file name بسازید که اطلاعاتی را از link برای شما دانلود کند، syntax آن به این صورت خواهد بود.

#!/usr/bin/perl‎
‎# HTTP Header‎
print “Content-Type:application/octet-stream; name=\”FileName\”\r\n”;‎
print “Content-Disposition: attachment; filename=\”FileName\”\r\n\n”;‎
‎# Actual File Content‎
open( FILE، ‏‎ “<filename"</filename" );‎
while(read(FILE‎، ‏‎ $buffer‎، ‏‎ ۱۰۰) )‎
‎{‎
‎ print(“$buffer”);‎
‎}‎