دانلود فایل از FTP در لاراول

نویسنده : Admin | تاریخ : ۱۳ خرداد, ۱۳۹۶

دانلود فایل از FTP در لاراول

سلام ، در این مقاله قصد داریم طریقه دانلود با FTP در فریم ورک لاراول رو به شما عزیزان آموزش بدیم ، پس با ما همراه باشید .

اجازه بدید یک کنترل با نام  DownloadController.php ایجاد میکنیم :

<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
use Storage;
use Response;
 
class DownloadController extends Controller
{
     function downloadFile(Request $request) {
 
        $file = $request->get('file');
        if(!$file) {
            return Response::json('please provide valid path', 400);
        }
        $fileName = basename($file);
 
         $ftp = Storage::createFtpDriver([
                        'host'     => 'your_host',
                        'username' => 'your_ftp_user',
                        'password' => 'your_ftp_user_password',
                        'port'     => '21', // your ftp port
                        'timeout'  => '30', // timeout setting
          ]);
 
           $filecontent = $ftp->get($file); // read file content
           // download file.
           return Response::make($filecontent, '200', array(
                'Content-Type' => 'application/octet-stream',
                'Content-Disposition' => 'attachment; filename="'.$fileName.'"'
            ));
    }
}

ابتدا تابعی با نام downloadFile ایجاد میکنیم :

  • با استفاده از متغیر $file فایل ورودی خود را دریافت میکنیم و در این متغییر قرار میدهیم .
  • سپس با استفاده از یک شرط معتبر بودن مسیر فایل را چک مینماییم .
  • در ادامه با استفاده از تابع basename  نام فایل از یک مسیر را مشخص میکنیم .
  • حال باید با استفاده از کلاس Storage درایور مربوط به اتصال FTP خود را تعیین کنیم و مشخصات لازم را طبق FTP در هاست مقدار دهی کنیم .
  • در ادامه با استفاده از تابع  $ftp->get($file) محتوا فایل مورد نظر را میخوانیم .
  • در نهایت با ساخت یک درخواست جهت دانلود فایل مورد فایل را دریافت میکنیم  .

 

بدین شکل توانستیم فایل های مورد نظر از سرور را با استفاده از FTP   در فریم ورک لاراول دانلود نماییم و

 

 

منبع : www.studio-design.ir


مقاله ها