• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
حذف فایل های آپلود شده در سرور
#1
سلام. 
چطور میشه فایل های آپلود شده رو مثلا بعد از 48 ساعت به صورت اتوماتیک از روی هاست پاک کرد؟
  پاسخ
تشکر شده توسط :
#2
سلام و وقت بخیر

در ابتدا نیاز به یک CronJobs داریم که تنظیم شود هر 48 ساعت یکبار یک فایل php را اجرا کند.
(در دایرکت ادمین و Cpanel موجود هست یا https://cron-job.org نسخه رایگان)

در فایل php هم میتونین یا پوشه مورد نظر را حذف کنین یا اگر اسامی فایل ها رو در فایل یا Db ذخیره کردین ،بصورت تک تک حذف کنین.
ارادتمند
  پاسخ
تشکر شده توسط : RHiNO
#3
(۱۳۹۷ دى ۲۲, ۱۰:۰۹ ب.ظ)ayoubsys نوشته: سلام و وقت بخیر

در ابتدا نیاز به یک CronJobs داریم که تنظیم شود هر 48 ساعت یکبار یک فایل php را اجرا کند.
(در دایرکت ادمین و Cpanel موجود هست  یا  https://cron-job.org نسخه رایگان)

در فایل php هم میتونین یا پوشه مورد نظر را حذف کنین یا اگر اسامی فایل ها رو در فایل یا Db ذخیره کردین ،بصورت تک تک حذف کنین.
ارادتمند

سلام. 
ممنون از کمکتون. اسامی فایلها همچنین تاریخ آپلودشون تو دیتا بیس ذخیره شده. حالا من باید اون فایل php رو کجا قرار بدم؟ چون به صورت mvc نوشتم. یه کنترلر جدا باید در نظر بگیرم و تو مُدلش مشخص کنم مثلا فایلهایی که تاریخ آپلودشون بیشتر از 48 ساعت قبله حذف بشن؟
  پاسخ
تشکر شده توسط :
#4
سلام مجدد

مکان اون فایل مهم نیست . فقط دسترسی به اون فایل آزاد باشه. یعنی اگر site.com/inc/myfile.php رو توی مرورگر باز کردیم مستقیم دستورات حذف(اسامی و تاریخ رو با زمان اجرا بررسی کنه و اگر 48 ساعت گذشته بود حذف شود) اجرا بشه.
مرحله بعد ، تنظیم کردن CronJob هست که به دلخواه مثلا هر 48 ساعت این فایل php رو اجرا میکنه.

(حتی میتونین فایل رو قبل از پوشه Root سایت جهت امنیت بیشتر این فایل ، قرار بدین)

اردتمند
  پاسخ
تشکر شده توسط : RHiNO
#5
برای تکمیل حرفای ایوب عزیز بگم که اینطوری که crontab -e میزنی و یه ویرایشگر باز میشه.
توش بنویس:



کد:
1 22 * * * /usr/bin/php -q script.php

اینطوری این فایل هرروز ساعت ۲۲:۰۱ دقیقه اجرا میشه.
بعد توی اون فایل php دستورات لازم رو بنویس
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : ayoubsys RHiNO


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان