راکت
حل شده

حذف خودکار فایل های موقتی

5 پاسخ

سلام دوستان..

کاربرای سایت از طریق فرم بخصوصی، یه سری فایل رو آپلود میکنن...
میخوام این فایلا از طریق ajax و بصورت موقت یه جایی آپلود بشن و بعد که دکمه submit فرم رو زدم فایلا برن جایی که میخوام و موقتی ها پاک بشن..

ولی خب یه حالتایی هم پیش میاد مثلا اینکه کاربر فایل رو توی فرم آپلود میکنه (با ajax این کار انجام میشه) بعدش که آپلود شد به هر دلیلی روی submit نمیزنه و منصرف میشه.. اون فایل موقتی تو پوشه temp که تعریف کردم نمیخوام بمونه و فایلای بیخودی هی انباشت بشه..

چجوری میشه این مشکل رو حلش کرد بنظرتون؟

میشه فایلا رو زمانبندی کرد که بعد از ایجاد مثلا نهایتا 5 دقیقه بعد بصورت خودکار حذف بشن؟

ثبت پرسش جدید

پاسخ‌ها

5
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

سلام

خود فایل رو که هیچ وقت نمیشه زمان بندی کرد که خودکار حذف بشه. باید یک اسکریپتی برای پاک کردن تمام فایل های دایرکتوری temp تون داشته باشید که بصورت خودکار در زمان های مشخصی اجرا بشه.

برای این کار لاراول هم خیلی کار رو راحت کرده. کافیه یک کامند با وظیفه حذف تمام فایل های داخل این پوشه ایجاد کنید و بعد با استفاده از Task Scheduling در لاراول اون کامند رو بعنوان مثال هر شب ساعت ۰۳:۰۰ بامداد تنظیم کنید که اجرا بشه. طبیعتا برای این کار نیازمند استفاده از Cron job و احتمالا Supervisor هستید که توضیحاتش در مستندات رسمی لاراول هم بصورت کامل اومده:

https://laravel.com/docs/7.x/scheduling
https://laravel.com/docs/7.x/artisan#writing-commands

سهیل حیدری
سهیل حیدری
@hbr

با سلام به نظر من سناریو رو عوض کنید یعنی اینکه اول کاربر اطلاعات فیلدی(متنی) رو بارگزاری کنه و بعد که بارگزاری کردش یعنی post کرد و داخل دیتابیس ثبت شدش باکس آپلود فایل ظاهر شه و فایل هاشو تک تک بارگزاری کنه و این تک تک بارگزاری کردن به ازای هر فایل آدرس و اسم فایلتون تو دیتابیس ذخیره شه و براش هم امکان ویرایش بزارین الان همه سایت ها دارن همین کارو میکنن

JBolouri
JBolouri
@javadbolouri72

@khosravi424

ممنون از راهنماییتون..
اینم سناریوی خوبیه..
🙏🌷

شاید پاسخ شما همین‌جا باشد

Mohsen Etmd
Mohsen Etmd
@mohsenetmd

باید از کرون جابز استفاده کنید.

JBolouri
JBolouri
@javadbolouri72

@mohsenetmd

بله آقای یگانه هم بالا گفتن این کارو کنم..
ممنون 🙏🌷

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام