Как отловить на сервере событие скачивания файла, как написать демон на php ?

Ratatosk

Guest
Как отловить на сервере событие скачивания файла, как написать демон на php ?

Ребят может кто подскажет ?
Ситуация такая - сайт интранет, т.е. пользуются только
сутрудники компании. Помимо всякой корпоративной инфы,
на сайте отображается документооборот, тобишь приказы
на разные отделы организации. Доступ по паролю только
к своим документам. Прямых ссылок на конкретные документы
нет, всё идет через скрипт т.е. http://site/inf.php?doc=text.rtf
проверяется пароль, есть ли доступ к файлу, если все
ОК, файл копируется в http://site/download/text.rtf,
далее скрипт отсылает header с ссылкой на этот файл. ну
и соотв. юзер его сливает. Как я могу сразу удалить
этот файл после того как юзер его слил ?
На данный момент я чищу download раз в сутки автотматом.
Можно ли реализовать какойнить демон на php, к-рый
висел бы в фоне и реагировал на появление файлов в download, или может например скрипт продолжил бы работу
после того как скачали файл ?
 

Нечто

Психолог РНРClub
Ratatosk
Поменяй механизм закачки файлов и вопрос отпадет.
 

si

Administrator
не надо его удалять, потому-что не надо его копировать. просто отдавай файл сразу скриптом.
 

SiMM

Новичок
Отдавай файл скриптом, воспользуйся поиском по форуму - не ты первый изобретаешь этот велосипед.
 

Ratatosk

Guest
Ну, чтотбы не изобретать велосипед,
как лучше скриптом отдавать файл,
может есть у когонить ссылка под рукой ?
поковыряюсь разберусь.
Нету времени совсем по докам лазить.
Заранее спасибо.
 

Ilya

Новичок
Re: Как отловить на сервере событие скачивания файла, как написать демон на php ?

Прямых ссылок на конкретные документы
нет, всё идет через скрипт т.е. http://site/inf.php?doc=text.rtf
проверяется пароль, есть ли доступ к файлу, если все
ОК, файл копируется в http://site/download/text.rtf,
с такой системой все твои скрипты поскачивают :)

передавай через параметр в ссылке, например ID файла, по ID вытаскивай путь к файлу из базы( т.е. сначала надо еще базу создать :) ), потом отдавай заголовок, и файл..
подробнее тут:

http://ru2.php.net/header/

в комментах есть хорошие примеры.
 

Ratatosk

Guest
Вобщемто я по id вытаскиваю, эт я для наглядности
а выглядит так http://site/inf.php?doc=pr347754,

Вощем почитал ранее написаное, а именно вот
часто втречающийся код: (т.е. уже из моего скрипта)

PHP:
//Сначала все прверки пароля, вытаскивание по ид
//имя файла итд итп.....
//и в конце:
$filename=$rdir."/downloads/".$_GET["file"];
$file_name=$_GET["file"];
header('Expires: 0'); 
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header ("Content-type: application/x-force-download");
header("Content-Length: ".filesize($filename));
header("Content-Disposition: filename=".$file_name);
readfile($filename);
Мне было нужно чтоб прямые линки в заголовках
не отсылались, ну и с кодом выше, все работает
как мне надо.

Спапсибо за советы
 
Сверху