برنامه نویسی

📦 بهترین روشها برای بارگذاری پرونده در لاراول

✅ 1. پرونده ها را با زیر مجموعه ها سازماندهی کنید
از ریختن همه چیز در/ذخیره سازی/برنامه/بارگذاری خودداری کنید.

از ساختارهای مبتنی بر تاریخ یا هش استفاده کنید:

ذخیره سازی/برنامه/مرخصی/اسناد/2024/06/filename.pdf
ذخیره سازی/برنامه/بارگذاری/A1/B2/filename.jpg
✅ 2. از نمای ذخیره سازی لاراول استفاده کنید
این منطق سیستم فایل را چکیده و از دیسک های مختلف پشتیبانی می کند:

ذخیره سازی :: قرار دادن (“مرخصی/اسناد/نام پرونده .pdf” ، $ fileContent) ؛
پشتیبانی می کند:

محلی

S3

دیجیتال

صندوق عقب

FTP/SFTP

پیش فرض را در config/filesystems.php تنظیم کنید.

✅ 3. برای نیازهای پیچیده از Medialibrary Spatie استفاده کنید

$ model-> addMedia ($ درخواست-> پرونده ('عکس'))-> tomediacollection ('profile_photos') ؛
دریافت:

نسخه سازی

پشتیبانی چند دیسک

پیوند مدل

تبدیل تصویر

✅ 4. Offload to Cloud (برای مقیاس)
گزینه های ذخیره سازی ابری و مقایسه هزینه
`

`
| ارائه دهنده | ردیف رایگان | ردیف پرداخت شده | جوانب مثبت | بهترین برای |
| ————————- | —————————- | ————————————– | —————————– | —————————— |
| آمازون S3 | 5 گیگابایت + 20K دریافت/ماه | \ 0.023 دلار/GB + هزینه درخواست | بسیار مقیاس پذیر ، قابل اعتماد | سیستم های سازمانی |
| فضاهای دیجیتال | بدون ردیف رایگان | \ 5 دلار/ماه برای 250 گیگابایت + 1TB انتقال | قیمت گذاری مسطح ، سازگار با S3 | برنامه های لاراول ، استارتاپ های در حال رشد |
| Dropbox (API) | ~ 2 گیگابایت رایگان در برنامه های شخصی | \ 15 $/کاربر/ماه (تجارت نامحدود) | تنظیم ساده و سریع | ابزارهای dev ، پروژه های شخصی |
| Backblaze B2 | 10 گیگابایت رایگان + 1 گیگابایت بارگیری/روز | \ 0.005 $/GB ذخیره شده ، \ 0.01 $/gb egress | ارزانترین در کل ، S3 API | راه حل های بودجه |
| سعدی | بدون هزینه Egress | \ 6.99 $/ماه برای 1TB (3 ماه دقیقه) | بارگیری نامحدود | برنامه های سنگین و یا پشتیبان |

`
`

5 ✅. پرونده های خود را ایمن کنید
هرگز ذخیره سازی/برنامه را مستقیماً در معرض دید قرار ندهید.

S3: از URL های امضا شده موقت استفاده کنید:

ذخیره سازی :: دیسک ('s3')-> temporaryUrl ('file.pdf' ، اکنون ()-> addMinutes (5)) ؛
محلی: از طریق یک کنترلر خدمت کنید:

if (auth :: user ()-> can ('مشاهده' ، $ file)) {
پاسخ بازگشت ()-> پرونده (ذخیره سازی_پات (“برنامه/مرخصی/پرونده $”)) ؛
}
✅ 6. برای کارهای سنگین از صف استفاده کنید
از انجام این کار در طول درخواست HTTP خودداری کنید:

تولید PDF

تبدیل تصویر

اسکن کننده بدافزار

در عوض:

اعزام (جدید ProcessMediaJob (پرونده $)) ؛
7 ✅. همه چیز را تأیید و ضد عفونی کنید

$ درخواست-> اعتبارسنجی ([
‘document’ => ‘required|file|mimes:pdf,jpg,png|max:2048’,
]) ؛
جلوگیری از:

پرونده های مخرب

مسیر عبور

سو abuse استفاده

✅ 8. استفاده از دیسک را کنترل کنید
یک کرون روزانه تنظیم کنید:

برنامه صنعتگر PHP: اجرا
برای ورود به پرونده های بزرگ یا ارسال هشدارها از Storage :: Size () استفاده کنید.

💬 غذای نهایی
اگر یک مسئله ساده CHMOD می تواند بارگذاری بار را برای یک ماه خراب کند ، هنگام برخورد با صدها کاربر و گیگابایت بارگذاری ، خطر را تصور کنید.

با استفاده از انتزاع مناسب لاراول ، الگوهای ایمن و ذخیره سازی ابری هوشمندانه ، از این موارد جلوگیری می کنید:

زمان خراش

از دست دادن داده ها

کابوس مقیاس

strategy استراتژی جدید بارگذاری من
فقط از نمای ذخیره سازی لاراول استفاده کنید

پرونده ها را به صورت خودکار تنظیم کنید

بارگیری به فضاهای دیجیتالی برای محیط های جدید

مشاغل پردازش تصویر صف

حسابرسی استفاده از دیسک هفتگی را اجرا کنید

و از همه مهمتر – هرگز دوباره خطاهای مجوز را نادیده نگیرید

نوشته های مشابه

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

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

دکمه بازگشت به بالا