
در پروژهایی که نیاز به api وجود دارد دوستان اندورید کار نیاز به آپلود تصاویر با کدگذاری base64 دارند با کد گذاری base64 به راحتی می توانند تصاویر را به صورت یک رشته از کاراکتر ارسال کنند.
اگر می خواهید نمونه تصاویر base64 بسازید لیست سایتهای زیر جزو بهترین سایتها برای تبدیل تصاویر به کدگذاری 64 بیتی هستند
- سایت base64-image
- سایت base64.guru
- سایت base64decode.net
همه سایت های یاد شده قابلیت encode و decode را دارا می باشند.
یک عکس را در یکی از این سایتها آپلود کنید و کد base64 را مشاهده کنید میخواهیم این کد را با استفاده از api آپلود کنیم
کد زیر کامل هستش سعی کردم برای هر خط توضیحات رو کامل بگم و این متد رو من post در نظرگرفته بودم این متد رو تو یه کنترلر داخل پروژه لاراولی نوشته بودم و اینجا با یه تغییراتی نوشتم لازم ندیدم اعتبارسنجی لاراول رو باز اینجا بیارم دوستان خودشون بلدن و انجام میدن
if(isset($request->avatar) && $request->avatar != '') // اول چک کردیم که حتما مقداری داشته باشه
{
$img = $request->avatar; کد ارسالی شما مثلا با اسم آواتار بوده که اینجا میزاریمش تو متغیر
$img = str_replace('data:image/jpeg;base64,', '', $img);
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace('data:image/jpg;base64,', '', $img);
$img = str_replace('data:image/gif;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$image = base64_decode($img); // تا اینجا کدهای اضافی رو پاک کردیم از رشته دریافتی
$encodedImgString = explode(',', $request->avatar, 2)[1]; از اینجا به بعد باز رشته اولیه رو برای پیدا کردن پسوند تصویر می گردیم
$decodedImgString = base64_decode($encodedImgString);
$info = getimagesizefromstring($decodedImgString);
if(in_array($ext = substr($info['mime'], 6),['png', 'gif', 'jpeg','jpg'])) // اینجا چک کردیم تصویر یکی از این پسوندها باشه
{
$destination= base_path().'/public/upload/em_avatar/'.date('Y').'/'.date('m');// یک مسیر تو پروژه برای آپلود تعیین کردیم
if(!is_dir($destination))
{
mkdir($destination,0777,true);
}// این شرط برای ساخت مسیرمون هستش اگه نبود
$destination=$destination.'/';آخر مسیر یه اسلش اضافه می کنیم
$filename=rand(1111111,99999999); // یه اسم رندوم برای تصویر ساختیم
file_put_contents($destination.$filename.'.'.substr($info['mime'], 6),$image); // تصویر رو که بالا دیکود کرده بودیم تو مسیر تعیین شده + اسم جدید + پسوند تصویر که بالا تشخیص دادیم
// تموم شده به این راحتی آپلود کردیم
}
}
این کل چیزی بود که خیلیا ازش ترس دارن و تو پروژه ها خیلی تاکید میکنن که حتما باید باشه!!! تو قسمت پرسش و پاسخ سوالاتتون رو جواب میدم


تگ map (نقشه تصویری) در html

تصاویر (img) در html

نشانه گذاری (bookmarks) در html

تغییر رنگ لینک ها در html

مخفی کردن متن بلند با css

لینک (پیوند) در html

رنگبندی در html

کامنت نویسی در html (توضیحات برای کد)

تگ های نقل قول و استناد در html (Quotation and Citation)

فرمت متن در html - قالبندی (HTML Text Formatting)
بسیار هم عالی چرا از hasFile و این ها استفاده نشده؟ روش فعلی چه مزیتی نسبت به دیگر روش ها داره؟ (روش چک کردن مقدار)