У пользователя есть логин? если не просто использовать сеансы, либо даже лучше отслеживать их ip-адрес.
Вот пример сессий:
$_SESSION['file_downloading']==true;
$file = fopen($local_file, "r");
while(!feof($file))
{
// send the current file part to the browser
print fread($file, round($download_rate * 1024));
// flush the content to the browser
flush();
// sleep one second
sleep(1);
}
$_SESSION['file_downloading']=null;
fclose($file);}
Тогда прежде всего этот код,
if(!empty($_SESSION['file_downloading']))
// выполнить перенаправление или уменьшить скорость загрузки или что-то в этом роде.
Следующая опция - по IP-адресу.
//http://wiki.jumba.com.au/wiki/PHP_Get_user_IP_Address
function VisitorIP()
{
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$TheIp=$_SERVER['HTTP_X_FORWARDED_FOR'];
else $TheIp=$_SERVER['REMOTE_ADDR'];
return trim($TheIp);
}
получить IP-адрес посетителя, сохранить его в базе данных вместе с отметкой даты и времени. Затем просто удалите этот IP-адрес, когда файл завершит загрузку. Вы используете систему базы данных?