ساخت لینک دانلود مدت دار ( انقضا لینک ) در PHP

ساخت لینک دانلود مدت دار ( انقضا لینک ) در PHP

لینک دانلود مدت دار در PHP – حتما خیلی از لینک های دانلود را دیده اید که تاریخ انقضا دارند یعنی بعد از یک زمان تعیین شده مثلا 12 ساعت بعد از ساخت لینک منقضی شده و امکان دانلود وجود نخواهد داشت .

در این آموزش می خواهیم همین امکان را با PHP فراهم می کنیم .

کاری که قرار است انجام دهیم این است که باید با توجه به زمان که کاربر وارد می کند آن را بررسی کنیم در صورتی که از زمان حال سرورو بیشتر بود لینک دانلود معتبر بدهد در غیر اینصورت آن را منقضی نمایش دهد

از timestamp برای زمان استفاده می کنیم .

کدنویسی لینک دانلود مدت دار

<?php

############################
############################
############################
############################
####### RapidCode.iR #######
############################
############################
############################
############################

if (!empty($_GET['filename']) && !empty($_GET['expire'])) {

	$filename = "download/{$_GET['filename']}";

	if (file_exists($filename)) {

		$u_time = time();

		if ($u_time < intval($_GET['expire'])) {

			$filesize = filesize($filename) ? filesize($filename) : 1;
			$filetype = mime_content_type($filename);

			header("Content-Type: {$filetype}" , true);

			header("Content-Length: {$filesize}" , true);

			header("Content-Disposition: inline; filename=\"{$_GET['filename']}\"" , true);

			# header("Content-Disposition: attachment; filename=\"{$_GET['filename']}\"" , true); // force download 

			readfile($filename);

		} else {
			header("HTTP/1.1 403 Forbidden" , true);
			echo "زمان دسترسی به فایل منقضی شده";
		}

	} else {
		header("HTTP/1.1 404 Not Found" , true);
		echo "فایل مورد نظر یافت نشد";
	}

} else {
	header("HTTP/1.1 403 Forbidden" , true);
	echo "2 پارامتر اصلی داده نشده";
}

?>


فایل time.php برای ساخت timestamp زمان حال

<?php

echo time();

?>


دموی لینک دانلود مدت دار

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

لینک دانلود مدت دار در PHP

دانلود پروژه لینک دانلود مدت دار در PHP

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

لیست نظرات

  1. علیرضا
    علیرضا

    سلام وقت بخیر چطور میشه از طریق url دانلود کرد؟ ینی از پوشه خود هاست دانلود نکنه از url سایت های دگه هم بتونیم فایل دانلود کنیم

    29 مهر 1400 | 16:18:20
  • حسین باقری
    حسین باقری

    درود این آموزش کمک تون می کنه ویدیوی پایین مطلب رو ببینید .

    29 مهر 1400 | 16:22:59
  • ali saham
    ali saham

    با سلام خدمت مهندس باقری من کد شما را دانلود و اجرا کردم. ولی فقط فایل txt را اجرا میکند و فایل تصویری درون فولدر دانلود و یا فایل هایی که خودم درون آن گذاشتم را نشان نمی دهد. (xampp) لطفا راهنمایی بفرمایید. با تشکر از شما

    06 مهر 1400 | 20:35:08
    • حسین باقری
      حسین باقری

      درود می تونید با استفاده از پروتکل http از داخل مرورگر فایل و فولدر ها رو مشاهده کنید البته اگر دسترسی داده باشید که معمولا توی xampp فعال هست . بصورت : http://localhost/myproject/files

      19 مهر 1400 | 14:36:08
    contact us

    انجام انواع پروژه های وب


    ( فروشگاهی ، خبری ، رزرواسیون ، وردپرس ، حل مشکلات وردپرسی )

    شماره تماس و واتساپ : 09398554859