PDA

View Full Version : سوال: چگونگی امکان لینک دانلود غیرمستقیم



chn367
یک شنبه 21 خرداد 1391, 21:23 عصر
سلام میخوام توی اسکریپتم برای دانلود ها امکان دانلود مستقیم نباشه
یعنی اگه فایل توی این آدرس دارم: www.your.com/dl/001.exe (http://www.your.com/dl/001.exe)
همینجوری بهش نشون نده به صورتی باشه که با هر دفعه دانلود نشه ازش دوباره استفاده کرد بلکه با کلیک روی لینک به دوباره دانلود کرد! برای عدم استفاده در سایتهای دیگه هم هست!
بعضی جاها مخصوصا aspx ها دیدم اینجوری هستن نمیدونم دقیقا چطوریه
www.you.com/download.aspx? (http://www.you.com/download.aspx?)

برای php میخوام

AbiriAmir
یک شنبه 21 خرداد 1391, 22:03 عصر
1 فایل دانلود میسازید
به این صورت:



<?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
header('Pragma: no-cache'); // HTTP/1.0
header("Content-disposition: inline; filename=YOURFILENAME.");
header('Content-transfer-encoding: binary');
header("Content-Length: " . filesize("FILENAME"));
header('Content-type: YOURFILETYPE');
readfile("FILENAME);
?>

chn367
یک شنبه 21 خرداد 1391, 22:42 عصر
میشه لطفا دربارش توضیحی بدین؟ مبتدی هستم دقیقا متوجه نمیشم!
موقع دانلود فایلی خاص (موقعی روی لینک دانلود یک آیتم کلیک میکنه) به صفحه دانلود ریدایرکت میشه بعد چطوری آدرس فایل اصلی میگیره که به طور غیرمستقیم بهش نشون بده؟

AbiriAmir
دوشنبه 22 خرداد 1391, 13:26 عصر
ببینید مثلا شما 1 فایل php دارید به اسم downloads.php
بعد میخواین فایلی که id اون 1 هست رو دانلود کنه کاربر
به این صورت که شما 1 جدول در دیتابیس میسازید که به طور ساده 2 فیلد داره
1- ID
2- FILE ADDRESS

بعد شما id رو با GET میگیرید (downloads.php?id=1) و در دیتابیس جستجو میکنید و آدرس اون فایل رو بدست میارید

بعدش اون کدی که دادم رو میذارید دیگه

نمیفهمم کجاشو متوجه نمیشین

برای اینکه فایل هاتون به صورت مستقیم هم نتونن دانلود شن میتونید اونا رو توی خارج از public_html آپلود کنید که با url نشه بهشون دسترسی داشت

suncity
پنج شنبه 05 بهمن 1391, 08:49 صبح
با سلام.
براي ايجاد لينك دانلود غير مستقيم در ASP.NET هم ميشه توضيح بديد؟