دریافت عکس پروفایل کاربران از سایت گراواتار توسط ایمیل آنها
اگر در سایت گراواتار عضو باشید با نحوه ی کار این سایت آشنایی دارید. هرکسی در گراواتار عضو باشد باید ایمیل خود را وارد نماید و سپس برای خود عکس پروفایلی انتخاب کند.
حالا اگر ما بخواهیم در سایت خودمان، ایمیل کاربران را گرفته و عکس پروفایل آن ها را در سایت خودمان نمایش بدهیم چطور باید این کار را انجام دهیم؟
بسیار آسان است. ما چند مثال php برای شما می زنیم!
گراواتار برای حفظ امنیت ایمیل آدرس ها را به hash (حروف و اعداد کد گذاری شده) تبدیل می کند. ما باید ایمیل کاربران را به hash تبدیل کنیم.
باید این قواعد را رعایت کنیم:
- هیچ فضای خالی در ایمیل وجود نداشته باشد
- کل حروف ایمیل با حروف کوچک انگلیسی نوشته شده باشند
- آدرس ایمیل را با کدگذاری md5 هش کنیم
برای مثال:
<?php
echo md5( "[email protected] " );
// "f9879d71855b5ff21e4963273a886bfc" هشِ آدرس ایمیل
?>
اما کد بالا کار نمی کند! چرا؟ برای اینکه یک space در آخر ایمیل وجود دارد! دلیل دیگر اینکه شاید کاربران سایت شما ایمیل خود را با حروف بزرگ تایپ کنند و حروف بزرگ مورد قبول گراواتار نیست!
پس این کد را می نویسیم:
<?php
$email = trim( "[email protected] " ); // "[email protected]"
$email = strtolower( $email ); // "[email protected]"
echo md5( $email );
// "0bc83cb571cd1c50ba6f3e8a78ef1346" ایمیل هش شده
?>
کد فوق کاملا صحیح و درست کار می کند. اما اگر بخواهید کدی تمیز تر داشته باشید ما کد پایین را به شما پیشنهاد می کنیم:
echo md5( strtolower( trim( "[email protected] " ) ) );
کد فوق کاملا صحیح است و درست کار می کند. فقط در یک خط نوشته شده.
حالا اگر کاربر فضای خالی یا space در ایمیل خود وارد نماید یا ایمیل را به حروف بزرگ بنویسد کد ما باز کار خواهد کرد!
پس از هش کردن ایمیل کاربر، کافیست کد هش شده را گرفته و در این آدرس قرار دهید:
// https://s.gravatar.com/avatar/"اینجا کد هش شده را قرار می دهیم"?s=70
برای مثال
https://s.gravatar.com/avatar/ded106c9ddcbefef8aa81da2ce7648ef?s=70
در سمت راست آدرس فوق کلمه ی s=70 را مشاهده می کنید. این یعنی تصویر پروفایل 70*70 را به ما نمایش بده. هرچه عدد بالاتر برود اندازه تصویر بزرگتر می شود.
اگر سوالی داشتید در خدمتیم.
ممنون از همراهی شما با سایت چسبون