آموزش استفاده از گراواتار (Gravatar)
نوشته شده توسط محمد نمازی در ۳ اسفند ۱۳۹۲گراواتار سایتی است که با استفاده از امکانات سایت میتوانید پس از ثبت نام در آن برای ایمیل های خود تصویری انتخاب کنید، که اگر ایمیل شما در هر سایتی قرار بگیرد و اگر آن سایت یا وبلاگ از Gravatar پشتیبانی کند تصویر شما در آن به نمایش درخواهد آمد .
با این حال شما دوستان از این لینک میتوانید برای ثبت نام در سایت Gravatar استفاده کنید .
اما میریم سر اموزش که چگونه اواتار کاربر سایتمون طبق ایمیلش عکس اواتارش عوض بشه.
یه مثال ساده برای مفهوم کد میزنم ابتدا سه مقدار را میگیریم.
- ادرس ایمیلی که میخواهیم طبق این ایمیل عکس اواتارش به نمایش در بیاد.
- عکس پیش فرض در صورتی که کاربر در سایت Gravatar ثبت نام نکرده بود.
- و در انتها سایز عکس اواتار.
برای اینکار از سه متغیر زیر برای ورودی ها استفاده میکنیم.
$email = "test@yahoo.com"; $default = "http://www.7learn.com/test.jpg"; $size = 40;
در خط اول ایمیل شخص را در خط دوم مقدار عکس پیش فرض و در خط سوم سایز عکس هست تا اینجا که مشکلی نیست!!!
$email = strtolower(trim("test@yahoo.com"));
حال به این خط کد توجه کنید ..
حال به این تکیه کد توجه کنید.
$email = md5($email);
اصطلاحا به این عمل میگن هش که یه عمل کد گزاری هست در جلسات اینده این متد را بیشتر توضیح میدم این کد مخصوصا درجاهای امنیتی و مهم سایت زیاد کاربرد دارد.
حتی فقط با داشتن ایمیل میتونیم عکس اواتار آن ایمیل را دریافت کنیم اما ما میخواهیم اگر ایمیل مورد نظر در 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;
حال میتوانیم این لینکو در سایت خود استفاده کنیم برای مثال کد زیر را دقت کنید.
<img src="<?php echo $avatar; ?>" />
کار تمام است اما بهتر است این کدها را به صورت فانکش یا تابع در بیاورید که هر جا خواستید فقط ان را صدا کنید من تابع کامل از 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; }
امید وارم این مطلب هم مفید واقع شده باشه.