با سلام خدمت دوستان عزیزم
قصد دارم سیستمی طراحی کنم که فایل های دانلود که قرار میدم برای دانلود نیاز به مجوز داشته باشه و مشکل اصلی من این هست که میخوام فایل ها از طریق آدرس بار زمانی که مجوز مربوطه صادر نشده قابل دانلود نباشن البته اسم فایل هم رندوم تولید کردم ولی باز میخوام که حتما مجوز برای دانلود اخذ بشه.
ممنونم راهنماییم کنید. با تشکر فراوان
سلام
شما میتونین فرضا با درخواست رمز به طریق زیر دسترسی فایل رو بدین:
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;
}
}
}
سلام
شما میتونین فرضا با درخواست رمز به طریق زیر دسترسی فایل رو بدین:
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
با این روش فایل رو تو بافر میبرید و بعد فایل جدید تولید شده رو برای دانلود ارائه میدید؟
بله فایل استریم میشه برای دانلود، البته میتونین از 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
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟