PDA

View Full Version : سوال: پاک کردن یک یا چند فایل بعد از خروج کاربر



m_feyz
شنبه 16 مرداد 1389, 11:17 صبح
سلام به همگی دوستان. چه طوری میشه برنامه ای نوشت که وقتی کاربر از سایت خارج شد (یعنی کاربر مرورگر رو ببنده یا اینکه تو همون مرورگر وارد یه سایت دیگه بشه) اون وقت، فایل یا فایل های مشخصی پاک بشه؟

eshpilen
شنبه 16 مرداد 1389, 11:26 صبح
احتمالا باید با یه کدی سمت کلاینت بصورت AJAX مانند، هر چند دقیقه یا چند ده ثانیه یکبار با سرور تماس بگیری. هروقت مثلا ۱ دقیقه گذشت و خبری نشد میفهمی که کاربر مرورگر رو بسته یا سایت رو و یا اینکه اتصال اینترنتش قطع شده!!
بهرحال این زیاد وضعیت جالبی نیست چون کاربران حرفه ای نسبت به صفحه ای که باعث میشه آیکون اینترنت مدام یا گهگاهی فعال بشه دید خوبی ندارن.
راه دیگه ممکنه استفاده از onuload باشه. ولی از رویداد uload فکر نمیکنم بشه استفاده کرد، چون بنظرم مرورگرهای امروزی از نظر امنیتی اجازهء هرکاری رو بهش نمیدن. ولی تست کن اگر بشه یجوری بکارش بگیری که با سرور تماس برقرار کنه، احتمالا پاسخ نیازت هست:

<html>
<body onunload="alert('Unload Event');">
</body>
</html>

bestirani2
شنبه 16 مرداد 1389, 11:54 صبح
توی بانک اطلاعاتی برای هر کاربر یک نشست آغاز کن به همراه تاریخ که هر کاربری بیش از مثلاً 5 دقیقه تو سایت فعالیت نداشته باشه پاک بشه

m_feyz
شنبه 16 مرداد 1389, 12:44 عصر
توی بانک اطلاعاتی برای هر کاربر یک نشست آغاز کن به همراه تاریخ که هر کاربری بیش از مثلاً 5 دقیقه تو سایت فعالیت نداشته باشه پاک بشه
اگه میشه یکم بیشتر توضیح بدین. چه طوری این کار رو بکنم؟

m_feyz
شنبه 16 مرداد 1389, 12:48 عصر
راه دیگه ممکنه استفاده از onuload باشه. ولی از رویداد uload فکر نمیکنم بشه استفاده کرد، چون بنظرم مرورگرهای امروزی از نظر امنیتی اجازهء هرکاری رو بهش نمیدن.

یه راه دیگه هم می شه ولی نمی دونم چه طوری و اون اینه که وقتی تمام تصاویر مورد نظر توی مرورگر کاربر به طور کامل باز شد اون وقت تمام آن تصاویر پاک بشه. شما می دونین چه طوری این کار رو انجام بدم؟

eshpilen
شنبه 16 مرداد 1389, 12:58 عصر
میتونی از onload تگ img یا body استفاده کنی.

m_feyz
شنبه 16 مرداد 1389, 14:10 عصر
میتونی از onload تگ img یا body استفاده کنی.
ممنونم از جوابتون ولی چه طوری باید تابع unlink (تابع پاک کردن فایل) رو توی ویژگی onload فراخوانی کنم؟ میشه دستورش رو بنویسید؟

bestirani2
شنبه 16 مرداد 1389, 16:29 عصر
اگه میشه یکم بیشتر توضیح بدین. چه طوری این کار رو بکنم؟

یک جدول از نوع مموری برای سرعت کار درست کن
حالا هر وقت کاربر یک صفحه جدید را باز میکنه شماره نشست مربوط به آن رو به همران زمان وارد کن
حالا یک صفحه دیگه برای کران جاب درست کن که هر کی اختلافش با زمان حال بیش از 5 دقیقه هست پاک بشه

بدین ترتیب اگه یک کاربری 5 دقیقه صفحه ای را باز نکنه فایل ها پاک میشوند.

eshpilen
یک شنبه 17 مرداد 1389, 08:28 صبح
میشه دستورش رو بنویسید؟
نه متاسفانه نمیشه. چون یه دستور نداره و کلی دستوره که میشه برنامه نویسی.
اینا وظیفه و کار شماست، نه بنده.

binyaft
یک شنبه 17 مرداد 1389, 11:51 صبح
بهترین کار اینه که با خود پی اچ پی بنویسی ، نه جاوا اسکریپت
هر کاربر که وارد میشه ای پی شو ثبت کن ( مثل سیستم های افراد انلاین ) بعد موقع ای که رفت ( ای پی نبود ) فایل های مورد نظر رو پاک کن
همین