نمایش وضعیت آب و هوا با PHP

  • منتشر شده در تاریخ

نمایش وضعیت آب و هوا با PHP

در این آموزش php , قصد داریم به شما نحوه ساخت اپلیکیشن PHP برای نمایش اطلاعات پیش بینی آب و هوا (weather) توسط API در PHP را نشان بدیم.

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

 

این سرویس یکی از بهترین API ها را برای پیش بینی آب و هوا ارایه می دهد. و شامل حجم عظیمی از داده های منظم شده آب و هوا را دارد.

همچنین این سرویس رایگان و البته با دسترسی محدود است. برای استفاده های ساده, می توانید کافی باشد و برای موارد پیشرفته نیاز است که یک اشتراک را تهیه کنید.

ادغام این API با اپلیکیشن PHP ما بسیا ساده اس چرا که ما فقط باید کار با curl در PHP و همچنین داده json را بلد باشیم.

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

  • دریافت کلید API
  • مشخص کردن آی دی شهر
  • ارسال درخواست پیش بینی آب و هوا با ارسال کلید API و id شهر

 

دریافت کلید API سرویس OpenWeatherMap

  1. برای دریافت API نیاز است در سایت OpenWeatherMap ثبت نام کنید. بعد شما به صفحه تنظیمات پروفایل هدایت (redirect) خواهید شد.
  2. بالای فرم تنظیمات پروفایل, یک منو با چندین تب وجود دارد. روی API Keys کلیک و کلید api را کپی کنید.
  3. در ادامه آموزش, از این API برای ارسال درخواست پیش بینی آب و هوا استفاده می کنیم.

نمایش وضعیت آب و هوا با PHP

دریافت id شهر

با کلیک روی لینک زیر, می توانید لیست شهرها را در فرمت فشرده دریافت کنید. فایل را unzip و id شهر را یاداشت کنید.

http://bulk.openweathermap.org/sample/city.list.json.gz

بعد از unzip کردن, یک فایل با فرمت داده ای json خواهید داشت که شامل آرایه مکان ها است. هر آرایه شامل مقادیر جغرافیایی, کشور, شهر و id شهر است.

کد PHP برای دریافت پیش بینی آب و هوا

این کد php درخواست را را به سرویس OpenWeatherMap برای دریافت پیش بینی آب و هوا ارسال می کند.هنگام ارسال درخواست, کلید API و id شهر نیز بصورت query string در url ارسال می شود.

من از curl در PHP برای ارسال درخواست API استفاده می کنم. پاسخ curl بصورت json برگشت داده می شود.

با دیکد کردن پاسخ JSON , می توانیم وضعیت آب و هوا را در مرورگر نمایش بدیم.

 

کد HTML نمایش وضعیت آب و هوا

این کد HTML برای نمایش وضعیت آب و هوا با PHP و دیکد کردن آبجکت پاسخ JSON استفاده شد است.

در این بخش, ما دسترسی به مکان, توضیحات آب و هوا, آیکون, محدوده (range) بالا و پایین دما, رطوبت و سرعت وزش باد را داریم.

 

خروجی – نمایش وضعیت آب و هوا با PHP

این یک خروجی از اجرا مثال بالا می باشد. که اطلاعات آب و هوا را با دیکد کردن پاسخ JSON از API را نمایش می دهد.

نمایش وضعیت آب و هوا با PHP

امیدوارم از آموزش نمایش وضعیت آب و هوا با PHP استفاده مفید را برده باشید.

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

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید.

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. توصیه من: هاست میهن وب‎هاست
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۱۴)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. زینب ۲۸ بهمن ۱۳۹۸

    با سلام و خسته نباشین
    اگه بخایم اطلاعات هواشناسی رو با استفاده از مختصات یه مکان دریافت کنیم به جای آی دی چی؟؟
    چون این کد خیلی محدوده و مثلا فقط برای تهران رو به صورت کلی میگه.اگه بخام چهل تا نقطه ی تهران رو که مختصات هاش رو دارم اطلاعات آب و هواشناسیش رو به عنوان مثال دریافت کنم باید از چه کدی استفاده کنم. ممنون از راهنماییتون.

    پاسخ
    1. حسن شفیعی ۲۸ بهمن ۱۳۹۸

      سلام ممنون.
      کاری که در این اسکریپت انجام می دهیم استفاده از وب سرویس است. متاسفانه api خاصی برای این مورد سراغ نداریم و می توانید از طریق گوگل api مورد نیاز را جستجو کنید و این وب سرویسی که ارایه دادیم مناطق تهران رو شامل نمیشه.
      موفق باشید.

      پاسخ
      1. زینب ۲۹ بهمن ۱۳۹۸

        سلام دوباره.خیلی ممنونم از جوابتون.
        من یه سوال دیگه ام دارم که از دیروز باهاش درگیرم و راه های مختلفی رو امتحان کردم.این داده های آب و هوا شناسی رو چجوری میتونم هر کدوم رو به تنهایی اکو کنم تا تو پایگاه داده ام ذخیره بشه
        این نتیجه ی داده های منه:
        {“coord”:{“lon”:51.4,”lat”:35.65},”weather”:[{“id”:800,”main”:”Clear”,”description”:”clear sky”,”icon”:”01d”}],”base”:”stations”,”main”:{“temp”:281.32,”feels_like”:276.8,”temp_min”:277.15,”temp_max”:283.15,”pressure”:1029,”humidity”:46},”visibility”:6000,”wind”:{“speed”:3.1,”deg”:140},”clouds”:{“all”:0},”dt”:1582011440,”sys”:{“type”:1,”id”:7464,”country”:”IR”,”sunrise”:1581995940,”sunset”:1582035484},”timezone”:12600,”id”:110791,”name”:”Ostan-e Tehran”,”cod”:200}

        پاسخ
      2. حسن شفیعی ۲۹ بهمن ۱۳۹۸

        سلام. خوشحالیم که مفید واقع شده.
        این داده های json است که با آموزش زیر می توانید آن ها را واکشی و بعد که خروجی بصورت آبجکت یا آرایه شد می توانید به هر کدام از خانه ها به راحتی دسترسی و عملیاتی مثل ذخیره سازی در دیتابیس را انجام بدید.
        مدیریت داده jSON در php
        همچنین می توانید از این ابزار آنلاین برای مشاهده ساختار داده خود بصورت درختی استفاده کنید : http://jsonviewer.stack.hu
        موفق باشید.

        پاسخ
  2. مهسا ایرانی ۸ دی ۱۳۹۸

    من در حال حاضر یک فایل جیسون دارمو یک فایل php الان ادغام این ذو به چه صورت است میشه کامل تر بگین لطفا فایل اجرا نمیشه key رو تئقسمت کی کپی کردیم حال باید چه کنیم

    پاسخ
  3. الهام ۸ دی ۱۳۹۸

    ببخشی. چجوری باید کد رو جایگزین کنیم میشه دقیق تر بگین و بهد نصبxampp چجوری اجرا کنیم دقیقا برنامه رو تطبیق فاید جیسون و فایل php چجوریه

    پاسخ
    1. حسن شفیعی ۸ دی ۱۳۹۸

      سلام.
      برای کار با اسکریپت نیاز است بصورت مقدماتی با php آشنا باشید وگرنه راهنمایی بیشتر باعث ایجاد سوالات بیشتری برای شما می کند و طبیعتا به جواب نخواهید رسید.
      آموزش xampp و آموزش اجرای فایل php در xampp را در گوگل جستجو کنید. بعد از قرار دادن فایل ها در جای مشخص شده طبق این آموزش پیش برید و خروجی بگیرید.
      موفق باشید.

      پاسخ
  4. زهرا ۸ دی ۱۳۹۸

    بعد از نصب xampp چجوری بلید خروحی ببینیم و چگونه باید کد رو جایگزین کتیم
    من می تونم به عنوان کار خودم که کد رو نوشتم ارایه بدم ؟

    پاسخ
  5. زهرا ۸ دی ۱۳۹۸

    ببخشید میشه دقیق توصیح بدین چطوری باید برناما رو اجرا کنیمممم و به چه نرم افزاری نیاز داریم

    پاسخ
    1. حسن شفیعی ۸ دی ۱۳۹۸

      سلام.
      ابتدا باید مطابق آموزش در سایت مورد نظر ثبت نام و کد مربوطه رو دریافت کنید
      بعد نرم افزار xampp را دانلود و نصب کنید و سورس کامل را از باکس دانلود دریافت و مطابق این آموزش نصب و راه اندازی کنید تا بتونید نتیجه رو ببینید.
      راه اندازی لوکال هاست
      البته بعد نصب باید مطابق آموزش کدی که از سایت مورد نظر دریافت کردید را باید در سورس جایگزین کنید تا بشه نتیجه رو دید.
      موفق باشید.

      پاسخ
      1. زهرا ۸ دی ۱۳۹۸

        ببهشید من می تونم به عنوان کار ارایه بدم این کد رو ؟ و اینکه چجوری باید در سورس جایگزینش کنیم

        پاسخ
      2. زهرا ۸ دی ۱۳۹۸

        وچگونه باید اجرا شه بعد نصب xampp

        پاسخ
  6. aryan sa ۱۶ شهریور ۱۳۹۸

    CURLOPT_VERBOSE برای چیه ؟؟

    پاسخ
    1. حسن شفیعی ۱۶ شهریور ۱۳۹۸

      سلام.
      برای دریافت یک سری اطلاعات بیشتر از سروری که ریکویست ارسال می کنید استفاده میشه و معمولا هم در حالت دیباگ برا خطایابی استفاده می کنیم.

      پاسخ
دوره های آموزشی