آموزش استفاده از گراواتار (Gravatar)

نوشته شده توسط محمد نمازی در ۳ اسفند ۱۳۹۲

گراواتار سایتی است که با استفاده از امکانات سایت میتوانید پس از ثبت نام در آن  برای ایمیل های خود تصویری انتخاب کنید، که اگر ایمیل شما در هر سایتی قرار بگیرد و اگر آن سایت یا وبلاگ از Gravatar پشتیبانی کند تصویر شما در آن به نمایش درخواهد آمد .

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

اما میریم سر اموزش که چگونه اواتار کاربر سایتمون طبق ایمیلش عکس اواتارش عوض بشه.

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

  •  ادرس ایمیلی که میخواهیم طبق این ایمیل عکس اواتارش به نمایش در بیاد.
  • عکس پیش فرض در صورتی که کاربر در سایت Gravatar ثبت نام نکرده بود.
  • و در انتها سایز عکس اواتار.

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

$email = "test@yahoo.com";
$default = "http://www.7learn.com/test.jpg";
$size = 40;

در خط اول ایمیل شخص را در خط دوم مقدار عکس پیش فرض و در خط سوم سایز عکس هست تا اینجا که مشکلی نیست!!!

$email = strtolower(trim("test@yahoo.com"));

حال به این خط کد توجه کنید ..

ما با استفاده از متد strtolower بررسی کردیم که ایمیل ورودی کاربر حتما باید حروف کوچیک باشه اگر حرفی بزرگ بود توسط این متد به حروف کوچک تبدیل میشود حال با استفاده از متد trim گفتیم اگر فضای خالی در ایمیل ورودی کاربر وجود داشت اون فضا را بردارد این کارها را کردیم که اگر کار ایمیلشو نادرست وارد کرد به حالت صحیح یه ایمیل تبدیل شود.

حال به این تکیه کد توجه کنید.

$email = md5($email);

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

نکته : ما برای ارسال ایمیل به سایت Gravatar حتما باید ایمیل را کد گزاری کنیم.

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

حال به این خط  کد دقت کنید ..

$default = urlencode("http://www.example.com/test.jpg");

متد urlencode برای این به کار میاد که کارکترهای غیر مجاز اسم لینک را تبدیل به کارکترهای مجاز کنه مثلا فاصله در لینک غیر مجازه یا حروف فارسی.

تا به اینجا پس آدرس عکس پیش فرض و همچنین نام ایمیل را درست کردیم حال برای ارسال ابتدا باید نام ادرس Gravatar در ابتدا لینک ما باشد.

$gravatar = "http://www.gravatar.com/avatar/";

خوب در متغیر gravatar ادرس ثابت سایت Gravatar را وارد کردیم و در اخر هم لینک نهایی اواتار را بدست میاوریم.

$avatar=$gravatar . $email . "?d=" . $default ."&s=" . $size;
نکته : پارمتر d برای عکس پیش فرض و پارامتر s برای سایز عکس هست پارمترهای دیگری هم هستن که ما به همینا اکتفا میکنیم

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

<img src="<?php echo $avatar; ?>" />

کار تمام است اما بهتر است این کدها را به صورت فانکش یا تابع در بیاورید که هر جا خواستید فقط ان را صدا کنید من تابع کامل از Gravatar را به شما میدم که این تابع در خود سایت گراواتار به عنوان مثال هست تحلیل تابع هم با خودتون 1x1.trans کد PHP : اموزش استفاده از گراواتار (Gravatar)

function get_gravatar( $email, $s = 80, $d = 'mm', $r = 'g', $img = false, $atts = array() ) {
    $url = 'http://www.gravatar.com/avatar/';
    $url .= md5( strtolower( trim( $email ) ) );
    $url .= "?s=$s&d=$d&r=$r";
    if ( $img ) {
        $url = '<img src="' . $url . '"';
        foreach ( $atts as $key => $val )
            $url .= ' ' . $key . '="' . $val . '"';
        $url .= ' />';
    }
    return $url;
}

امید وارم این مطلب هم مفید واقع شده باشه.

دیدگاه‌تان را ارسال کنید ...