لوگوی جشنواره وب و موبایل ایران

تبلیغات

  

            

نمایش نتایج: از 1 به 1 از 1

موضوع: آموزش لینک دانلود مدت دار با PHP و MySQL

  1. #1
    مدیر ارشد انجمن kamran آواتار ها
    تاریخ عضویت
    Aug 2012
    نوشته ها
    229
    میزان امتیاز
    105

    Post آموزش لینک دانلود مدت دار با PHP و MySQL

    تا به حال سایت هایی را دیده اید که لینک دانلود آنها به اصطلاح مدت دار بوده و پس از گذشت چند ساعت یا چند روز دیگر نمی توان با آن لینک، فایل مورد نظر را دانلود کرد، این سیستم به انگیزه های مختلف ممکن است مورد نیاز باشد، از جمله اینکه می توان بین کاربران مختلف با توجه به حالت دانلود (رایگان یا با پرداخت هزینه) تفاوت قائل شد، یا هر زمان که نیاز بود، بدون حذف فیزیکی فایل از سرور، لینک دانلود آن را غیر فعال کرد، همچنین این حالت معمولا باعث جلوگیری از بروز ترافیک سنگین و درخواست های متعدد برای دانلود فایل ها می شود که این خود بر بهبود عملکرد سرویس های دانلود تاثیر مثبت دارد، به هر صورت فارغ از انگیزه شما برای انجام این کار، در ادامه آموزش، خواهیم دید که چگونه می توان با کمک PHP و MySQL، سیستم ایجاد لینک دانلود مدت دار را طراحی نمود. ایجاد دیتابیس و جداول لازم

    طبق معمول برنامه های مبتنی بر دیتابیس MySQL، اولین گام ما ایجاد و تعریف ساختار پایگاه داده است که در اینجا با توجه به نیازمان ابتدا از طریق برنامه phpMyAdmin یا با استفاده از کدهای PHP، دیتابیس download را می سازیم (در این آموزش فرض بر این است که از طریق برنامه phpMyAdmin پایگاه داده را ساخته اید)، سپس کدهای زیر را (در صورت نیاز پس از اعمال تنظیمات اتصال) در دایرکتوری فرضی time-limit-download و با نام table_create.php در ریشه هاست یا در سرور مجازی اجرا می کنیم (باید این دایرکتوری را در فولدر www یا public_html و فایل را داخل آن داشته باشید).

    کد:
    فقط کاربران عضو میتوانند لینک ها را مشاهده کنند
    لینک اجرای فایل باید مطابق با نمونه زیر باشد.

    کد:
    فقط کاربران عضو میتوانند لینک ها را مشاهده کنند

    با اجرای فایل بالا جدولی با نام فرضی file_storage در دیتابیس download ایجاد می شود که این جدول دارای ستون هایی است که در قسمت CREATE TABLE پرس و جوی بالا ملاحظه می کنید، در زیر به صورت مختصر و جهت آشنایی نقش ستون ها را بررسی می کنیم.
    ستون id: این ستون به عنوان یک شماره یکتا معمولا در اکثر برنامه های مبتنی بر دیتابیس استفاده می شود (جهت تمایز و مدیریت بهتر داده های مختلف)، نوع این ستون INT است که در این حالت تا مرز 2147483647 ردیف قابل ایجاد است.
    ستون client_ip: این ستون برای نگهداری IP کاربر است که در هنگام تطبیق اطلاعات لینک می تواند مورد استفاده قرار گیرد (استفاده از IP صرفا جهت نمونه است و در صورت نیاز می تواند استفاده نشود).
    ستون original_name: این ستون نام اصلی فایل را به همراه پسوند آن نگهداری می کند.
    ستون temp_name: این ستون برای نگهداری نام hash شده فایل است (hash به عبارت رمزی شده گفته می شود که در مورد استفاده ما به آن token نیز گفته می شود).
    ستون date_time: این ستون جهت نگهداری تاریخ و زمان با نمونه فرمت 20140101121110 (ثانیه دقیقه ساعت روز ماه سال) است، از این عدد برای محاسبه مدت زمان انقضای لینک دانلود استفاده می کنیم.
    ایجاد لینک دانلود

    پس از ایجاد دیتابیس و جدول، اکنون باید کدی داشته باشیم که آدرس های موقت دانلود مدت دار فایل را برایمان ایجاد کند، در واقع در این مرحله به طور مثال کاربر لینک فرضی زیر را از سرور درخواست می کند و در پاسخ، لینک مدت دار به او نشان داده می شود.
    نمونه لینک درخواستی کاربر:

    کد:
    فقط کاربران عضو میتوانند لینک ها را مشاهده کنند

    نمونه آدرس ایجاد شده برای دانلود مدت دار:

    کد:
    فقط کاربران عضو میتوانند لینک ها را مشاهده کنند
    کدهای زیر را در فایلی با نام dl_link.php در دایرکتوری dl درج کنید.

    کد:
    فقط کاربران عضو میتوانند لینک ها را مشاهده کنند
    عملکرد این کد به این صورت است که پارامتر hash یا همان token ارسالی از کاربر و همچنین نام حقیقی فایل را که از طریق لینک مدت دار دانلود دریافت شده با دیتابیس تطبیق داده و در صورتی که اطلاعات معتبر باشد، فایل موجود در دایرکتوری file را به مرورگر (یا هر واسط کاربری دیگر مانند برنامه های مدیریت دانلود) ارسال می کند.
    نکته: لطفا برای کسب اطلاعات بیشتر در خصوص این قسمت از آموزش، مطلب مشابه ای را که پیش تر در سایت منتشر شده مطالعه کنید:

    دستور htaccess برای ایجاد لینک های استاتیک

    در آخرین گام از ایجاد لینک دانلود مدت دار نیاز به دستورات htaccess زیر در ریشه سایت است تا بتوانیم آدرس های استاتیک (آدرس هایی که در آنها علامت ? نباشد) را ایجاد و استفاده کنیم، لذا بدین منظور اگر فایل htaccess. در ریشه سایت وجود دارد، کافی است دستورات جدید را در انتها اضافه کنید، اما اگر این فایل وجود ندارد باید آن را بسازید و کدها را در آن درج نمائید.

    کد:
    فقط کاربران عضو میتوانند لینک ها را مشاهده کنند
    دو دستور بالا به ترتیب برای دریافت لینک مدت دار (token و نام اصلی فایل) و لینک عادی فایل (بدون token) کاربرد دارد.
    نکته: اگر از فعال بودن Rewrite Engine در سرور مجازی خود مطمئن نیستید، لطفا در این خصوص در وب جستجو کنید.
    دانلود نمونه فایل های در فایل پیوست
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط kamran : 2014-15-08 در ساعت 06:34 PM

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ: 0
    آخرين نوشته: 2012-29-08, 02:06 AM
  2. نصب و کانفیگ apache + PHP + Mysql بصورت خودکار
    توسط kamran_b در انجمن لینوکس Linux
    پاسخ: 0
    آخرين نوشته: 2012-28-08, 05:27 AM
  3. نصب و کانفیگ apache + PHP + Mysql بصورت خودکار
    توسط kamran_b در انجمن لینوکس Linux
    پاسخ: 0
    آخرين نوشته: 2012-28-08, 05:27 AM
  4. نصب MySql به صورت اتوماتیک
    توسط kamran_b در انجمن بسته های جانبی لینوکس
    پاسخ: 0
    آخرين نوشته: 2012-27-08, 06:17 AM
  5. نصب و کانفیگ سرور لینوکس apache , PHP , Mysql , phpMyAdmin
    توسط kamran_b در انجمن سن تو اس Centos
    پاسخ: 0
    آخرين نوشته: 2012-19-08, 07:20 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •