با سلام خدمت دوستان عزیزم
قصد دارم سیستمی طراحی کنم که فایل های دانلود که قرار میدم برای دانلود نیاز به مجوز داشته باشه و مشکل اصلی من این هست که میخوام فایل ها از طریق آدرس بار زمانی که مجوز مربوطه صادر نشده قابل دانلود نباشن البته اسم فایل هم رندوم تولید کردم ولی باز میخوام که حتما مجوز برای دانلود اخذ بشه.
ممنونم راهنماییم کنید. با تشکر فراوان
سلام
شما میتونین فرضا با درخواست رمز به طریق زیر دسترسی فایل رو بدین:
if (!empty($_POST)) {
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == "admin"
&& $pass == "admin")
{
$file = 'path/to/file';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}
}@amin.mokhtari94
با این روش فایل رو تو بافر میبرید و بعد فایل جدید تولید شده رو برای دانلود ارائه میدید؟
شاید پاسخ شما همینجا باشد
@nimageneral
بله اینکه لینک در صورت لاگین نبودن کار نکنه
بله فایل استریم میشه برای دانلود، البته میتونین از htaccess برای پسورد گذاشتن فایل ها نیز استفاده کنید:
https://stackoverflow.com/questions/5229656/password-protecting-a-directory-and-all-of-its-subfolders-using-htaccess
https://help.dreamhost.com/hc/en-us/articles/216363187-Password-protecting-your-site-with-an-htaccess-file
@amin.mokhtari94
ممنون از راهنماییتون