سلام
سایتی که می خواهم طراحی کنم این هست که تعدادی مشتری ثبت نام می کنند و سپس فایلی را می خواهند ترجمه کنند را آپلود می کنند و سپس تعدای از مترجمین هم برای همکاری ثبت نام می کنند و وقتی که مترجم فایلهای مربوط به مشتریان را ترجمه کرد فایلها را آپلود می کند سپس هر مشتری باید بتواند فایل مخصوص خودرا که مترجم برای آن ترجمه کرده را دانلود کنند.
اول آنکه تمام مطالب زیر بر محوریت دانلود است.
در این شرایط به مکانیزم کامل تری نیاز دارید و باز هم به دلایلی مشخص شد به پیچیده ترین شرایط نیاز ندارید ... در واقع رابطه کاربر-فایل شما یک به چند است.
(نه یک به یک و نه چند به چند)
مسدود کردن دسترسی کاربران به فایلهای خودشان را باید به نوعی ذخیره کنید و بتوانید با کد مشخص کنید ...
الف) باید بتوانید فهرستی از فایلهای هر فرد بدست آورید
ب) باید بتوانید مشخص کنید هر فرد اجازه دانلود یک فایل مشخص را دارد یا خیر ...
==============
راه حل اول)
حتماً جدولی برای کاربران در دیتابیس دارید که حاوی فهرست User, Pass ها است؟!
یک جدول دیگر هم برای فایلها اضافه کنید که {حاوی نام فایل/مسیر فایل در هارد/کاربر مالک} فایل باشد.
الف) بعد از لوگین کاربرتان میتوانید با یک SELECT ساده همه فایلهای مرتبط با او را استخراج کنید و در جدولی نشان اش دهید ...
ب) در زمان دانلود هم به سادگی ID فایل مورد نظر را در دیتابیس چک میکنید تا مطمئ شوید کاربر جازه دانلودش را دارد
حداقل جداول پیشنهادی:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
راه حل دوم)
یک پوشه به نام هر Username یا ID_User در هارد تشکیل میدهید و فایل های هر فرد را درون پوشه خودش میریزید.
الف) باز هم به سادگی با استراج فایل های چوشه هر فرد میتوانید فهرست فایلهای او را نشان دهید
ب) و در زمان دانلود هم روت مسیر دانلود را پوشه مخصوص او فرض میکنید و با این کار فرد به دانلود محتویات همان پوشه محدود میشود.
(گرچه باید نکته کوچکی را در کدتان لحاظ کنید تا کسی نتواند این قابلیت را دور بزند ولی فعلاً این نکته خیلی مهم نیست)
==============
کد نمونه (فقط به عنوان یک بذر اولیه یا سرنخ که باید پیگیری و تکمیلش کنید):
یک Generic Handler با کدی شبیه این اضافه کنید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.