Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 07:57 11.06.24 
Клубове/ Компютри и Интернет / PHP Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Download на файлове от логнат потребител
Автор3opo (Нерегистриран) 
Публикувано20.03.06 14:42  



Здравейте имам следният проблем:

Имам файлове за Download, които са достъпни само след логин на потребител.
В момента файловете се извикват, като линк. С други думи, ако някой знае пътя до файла, не му е нужно да се логва, за да го запише.

Моля предложете ми как мога да реша този проблем.

За сега имам само следното решение:

<?php
$filename = 'html.html';


$file_extension = strtolower(substr(strrchr($filename,"."),1));

switch ($file_extension) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpe": case "jpeg":
case "jpg": $ctype="image/jpg"; break;
case "html": $ctype="text/html"; break;
case "htm": $ctype="text/html"; break;
default: $ctype="application/force-download";
}

if (!file_exists($filename)) {

die("NO FILE HERE");

}

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".@filesize($filename));
set_time_limit(0);
@readfile("$filename") or die("File not found.");


?>


Това решение ме устройва само частично защото:
1. Файловете не се отварят директно в браузера, ами се появява прозорец за Download.
2. Все още съществува вероятност някой да налучка пътя до файла и да си го дръпне от сървъра
3. Нямам представа дали това решение работи с всички браузъри.



Цялата тема
ТемаАвторПубликувано
* Download на файлове от логнат потребител 3opo   20.03.06 14:42
. * Re: Download на файлове от логнат потребител Blake   20.03.06 16:04
. * Re: Download на файлове от логнат потребител 3opo   20.03.06 17:46
. * Re: Download на файлове от логнат потребител Blake   21.03.06 09:22
. * Re: Download на файлове от логнат потребител konstanc   21.03.06 14:39
. * Re: Download на файлове от логнат потребител 3opo   21.03.06 16:12
. * Re: Download на файлове от логнат потребител Mopдpeд   21.03.06 20:37
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.