PDA

Показать полную графическую версию : качаем файл, только по разрешению...


Drem
20-07-2006, 22:08
Как разрешить качать файл, только если создана сессионная переменная на пхп??? Вить можно просто напрямую набрать адресс файла. Т.е. как напрямую запретить качать файл??? А разрешать только пройдя скрипт определяющий не создана ли сессионная переменная.

Vlad Drakula
20-07-2006, 22:14
oleksiy
первое что приходит на ум: отдавать файл средствами PHP.

Drem
20-07-2006, 22:42
Vlad Drakula, можно поподробнее, мне это тоже в голову пришло, и даже ели будет скрипт, если напрямую набрать адресс файла на сервере???

vadimiron
21-07-2006, 01:20
oleksiy
смысл в том, что не даём прямую ссылку на файл
с помощью функции header ставим правильный заголовок, функцией fread читаем файл, и конструкцией echo выводим результат в браузер
браузер видит заголовок, и перенаправляет файл на скачку

Drem
21-07-2006, 01:33
vadimiron, не до конца уловил, можно небольшой код, что-бы я до конца понял... И размер файл может достигать 200-400 метров.

JASterus
21-07-2006, 09:59
<?
ob_start();
$f = fopen('somefile.zip','r');
$buf = fread($f,filesize('somefile.zip'));
header("Content-type: application/zip;");//это если к примеру зип отдаешь
header("Content-Disposition: attachment; filename=somefile_download.zip");
fclose($f);
print $buf;
ob_end_flush();
?>




© OSzone.net 2001-2012