آموزش لاراول – آپلود فایل و عکس

  • خانه
  • آموزش لاراول – آپلود فایل و عکس
Image تحقیقات

آموزش لاراول – آپلود فایل و عکس

با سلام خدمت شما دوستان عزیزم

امیدوارم همیشه از لاراول لذت ببرین

خب امروز میخوام درباره اپلود فایل به وسیله فریم ورک لاراول صحبت کنم.شاید براتون پیش اومده باشه که داخل پروژتون مثلا نیاز دارین تا عکسی رو برای هر محصول یا عکسی رو برای هر کاربر ذخیره کنید.

امروز یه فرم ساده می سازیم بعد به وسیله این فرم عکسی رو اپلود می کنیم و اون رو در جای دیگر ذخیره می کنیم.

برای شروع میریم سراغ ساختن فرم امون.

<!doctype html>

  
  Laravel


  {{ Form::open(array('url'=>'form-submit','files'=>true)) }}  
 
    {{ Form::label('file','File',array('id'=>'','class'=>'')) }}
    {{ Form::file('file','',array('id'=>'','class'=>'')) }}
    

 
    
    {{ Form::submit('Save') }}
 
    
    {{ Form::reset('Reset') }}
  
  {{ Form::close() }}

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

 

نکته : پارامتر files را در فرم برابر true قرار دهید تا ارسال فایل از طریق فرم انجام شود.

 

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

//app/routes.php
Route::get('form', function(){
  return View::make('form');
});
 
Route::any('form-submit', function(){
  var_dump(Input::file('file'));
});

همان طور که می دانید تا قبل از امروز، هر اطلاعاتی که ارسال میکردیم در آرایه های  GET_$ یا POST_$ ذخیره میشد مثلا نام و نام خانوادگی یا تلفن یا متن پست ها یا ….

ولی فایل هایی که ارسال می کنیم در آرایه ی FILES_$ ذخیره میشه و به وسیله ی این آرایه می تونیم به نام فایل ، ادرس اش ، سایز اش  ، پسوندش و .. دسترسی داشته باشیم.

در لاراول برای دسترسی به مشخصات فایل های ارسالی و همچنین ذخیره کردن اون از Input::file استفاده می کنیم.

در ادامه  تمام پارامترهای مورد نیازمون رو باهم مرور می کنیم.

متد getFilename

وقتی فایلی مانند عکس رو با فرم امون ارسال می کنیم. به وسیله ی متد getFilename به نام اش دسترسی خواهیم داشت . البته این نام ، نام اصلی اون فایل نیست ، بلکه نامی است که در حافضه موقت (temporary )، به اون فایل داده شده است.

if(Input::hasFile('file')){
  return "The file exists in Inputs.";
}

متد isValid

با استفاده از این متد مشخص میکنیم آیا فایل به درستی ارسال شده است یا خیر 

if (Input::file('file')->isValid()){
  return "Yesss !! the file is valid.";
}

 خب اینم از آپلود فایل هامون با استفاده از لاراول ، امیدوارم به کارتون بیاد

مثل همیشه آرزوی شادی و موفقیت براتون دارم