راکت
JBolouri
JBolouri
توسط JBolouri مطرح شد
حل
5 پاسخ

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

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

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

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

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

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


ثبت پرسش جدید
محمدحسن یگانه
محمدحسن یگانه
تخصص :Full-Stack Web Developer Freelancer
@mhyeganeh6 سال پیشمطرح شد
1

سلام

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

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

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


سهیل حیدری
سهیل حیدری
@hbr6 سال پیشمطرح شد
1

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


JBolouri
JBolouri
@javadbolouri726 سال پیشمطرح شد
0

@khosravi424

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


Mohsen Etmd
Mohsen Etmd
@mohsenetmd6 سال پیشمطرح شد
1

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


JBolouri
JBolouri
@javadbolouri726 سال پیشمطرح شد
0

@mohsenetmd

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


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

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