Real Time Web Analytics پرسش و پاسخ Elam

PHP

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

نویسنده : پدرام رضایی
تاریخ انتشار:
09:57:11 1394-06-16
مشخص کردن وجود داشتن یک سایت با استفاده از کدهای PHP

شاید در بعضی از مواقع شما نیاز پیدا کردید که با استفاده از دستورات PHP موجود بودن یا نبودن یک سایت را بررسی کنید حالا ما کد مربوط به این کار را برای شما قرار دادیم که می توانید از آن در دستورات خود استفاده کنید.

<?php

       if (isDomainAvailible('http://www.learnroute.ir'))
       {
               echo "Up and running!";
       }
       else
       {
               echo "Woops, nothing found there.";
       }

       //returns true, if domain is availible, false if not
       function isDomainAvailible($domain)
       {
               //check, if a valid url is provided
               if(!filter_var($domain, FILTER_VALIDATE_URL))
               {
                       return false;
               }

               //initialize curl
               $curlInit = curl_init($domain);
               curl_setopt($curlInit,CURLOPT_CONNECTTIMEOUT,10);
               curl_setopt($curlInit,CURLOPT_HEADER,true);
               curl_setopt($curlInit,CURLOPT_NOBODY,true);
               curl_setopt($curlInit,CURLOPT_RETURNTRANSFER,true);

               //get answer
               $response = curl_exec($curlInit);

               curl_close($curlInit);

               if ($response) return true;

               return false;
       }
?>

 

 

در اینجا ما تابع isDomainAvailible را تعریف می‌کنیم که اسم دامنه ی مد نظر را به عنوان ورودی می گیرد حال لازم است تا ما اسم دامنه ی وارد شده را با استفاده از FILTER_VALIDATE_URI اعتبار سنجی کنیم که به شکل درست وارد شده باشد.

قبل از توضیح ادامه ی کد لازم است این را بگویم که curl یک دستوری در PHP است که بوسیله ی آن میتوان یک درخواست HTTP را ایجاد کرد.

با استفاده از دستور curl_init یک درخواست HTTP را ایجاد می کنیم سپس از طریق curl_setopt مقادیر درخواست HTTP خود از قبیل HEADER و BODY درخواست را تنظیم می‌کنیم و از طریق curl_exe آن را به مرورگر ارسال می‌کنیم حالا اگر به درخواست HTTP ما پاسخی ارسال شود در متغییر response ریخته می شود که اگر این متغییر مقداری نداشت یعنی آدرس url وارد شده توسط ما وجود نداشته است که به آن درخواست پاسخی بدهد و اگر هم مقدار داشت به این معنی است که آن آدرس مد نظر ما وجود دارد. در آخر کار لازم است تا درخواست HTTP مذکور را با استفاده از curl_close ببندیم.

برچسب ها:
مقالات مشابه




 مهران
       
درخواست تغییر محتوای یک صفحه وب
سلام، من میخوام با استفاده از cron job کنترل پنل cpanel هاستم یک صفحه وب رو به صورت مداوم مورد بررسی قرار بدم، به این صورت که اگر محتوای اون صفحه وب تغییر کرد بیاد زمان و تاریخ رو در یک فایل تکست یا هر فایل دیگه ای بنویسه و ذخیره کنه. اونطور که سرچ کردم یک کد یا اسکریپتی میخوام که محتوای صفحه وب رو بخونه و با محتوای اولیه مقایسه کنه و در صورت تغییر محتوا زمان رو ذخیره کنه. متاسفانه من رشته ام کامپیوتر نیست و بلد نیستم چطور این کار رو انجام بدم. من میخوام این کد رو به عنوان مثال برای سایت cloob.com اجرا کنم و مثلا اگر کاربری با نام karbare_morede_nazar که لینک پروفایل اون http://www.cloob.com/name/karbare_morede_nazar میشه از سایت لغو عضویت زد پیام "صفحه مورد نظر یافت نشد." نوشته میشه و اگر این کاربر دوباره به سایت برگشت صفحه پروفایل شخص نمایش داده میشه. چیزی که بنده میخوام این هستش که وقتی صفحه وب به جای نوشته "صفحه مورد نظر یافت نشد." صفحه پروفایل اون رو نمایش داد بیاد تاریخ و ساعت رو ذخیره کنه. اگر لطف کنید و کمک کنید ممنون میشم و در صورتی که هزینه ای داره در خدمتم با تشکر، خیلی ممنون


بستن