Logo for Parsclick
توجه: سایت برای مدت چند روز از تاریخ ۱۸ نوامبر از کار خواهد افتاد...

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

  بهروز ولیخانی بهروز ولیخانی
  June 6, 2017 at 6:19 PM
  ۱۶ خرداد، ۱۳۹۶ ساعت ۱۸:۱۹


دانلود فایل از 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