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

 

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

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

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
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 در فریم ورک لاراول دانلود نماییم.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *