سلام دوستان امیدوارم حالتون خوب باشه...
یه سایت لاراولی رو با استفاده از FTP به هاست دانلود متصل کردم و آپلود رو از طریق سایت به هاست دانلود انجام میدادم.
متوجه شدم ،فایل ابتدا روی خود هاست سایت آپلود میشه و بعد به سمت هاست دانلود منتقل میشه که توی فایل های پر حجم به دلیل محدود بودن حافظه هاست سایت، آپلود به مشکل میخوره.
دنبال روشی هستم که علاوه بر قابلیت امکان اعتبار سنجی فایل ، بتونه بدون وابسطه به حافظه موجود سایت آپلود رو مستقیم توی هاست دانلود انجام بده
ممنون🙏
درود. من خودم لاراول زیاد کار نکردم هاست دانلود هم تاحالا استفاده نکردم، ولی امروزه دیگه از object storage ها استفاده میشه. لاراول هم قطعا باید به object storage ها بتونه وصل بشه. این روش الان استاندارد ترین روش اپلود فایل هست و چون ابری هم هست خیلی عالیه.
لیارا، ابرآروان ، پارس پک و ایران سرور و ... ارائه میدن. میتونی تحقیق کنی و تهیه کنی و حتما توجه کن که با استاندارد های s3 باشن که به راحتی بتونی بهشون متصل بشی.
سلام
اگر ftp دارید میتونید توی فایل config/filesystem.php به قسمت disks این گزینه رو اضافه کنید
'ftp' => [
'driver' => 'ftp',
'host' => env('FTP_HOST'),
'username' => env('FTP_USERNAME'),
'password' => env('FTP_PASSWORD'),
'root' => env('FTP_PATH'),
'port' => (int)env('FTP_PORT', 21),
'url' => env('FTP_URL'),
],
بعد توی فایل .env کلید هارو تعریف کنید
FTP_HOST=
FTP_USERNAME=
FTP_PASSWORD=
FTP_PATH=
FTP_URL=
و بعد به این شکل میتونید فایل اپلود کنید به ftp
/**
* @throws FileNotFoundException
*/
public function handel(?UploadedFile $file, string $path = "uploads/",string $prefix=''): ?string
{
if (!$file)
return null;
$imageName = uniqid($prefix) . "." . $file->getClientOriginalExtension();
Storage::disk('ftp')->put($path . $imageName, $file->get());
return $path . $imageName;
}
مثال:
public function store(Request $req){
$req->validate([
'file'=>['required','file'];
]);
$this->handel($req->file('file'),'uploads/folder');
}
امیدوارم که به درد کارتون بخوره
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟