<?
$filename=$_SERVER['QUERY_STRING'];
if (!file_exists($filename)) {
	$sa=explode('?',$_SERVER['REQUEST_URI']);
	$filename=$_SERVER['DOCUMENT_ROOT'].$sa[0];
	if (!file_exists($filename)) {
		header("HTTP/1.0 404 Not Found");
		exit;
	};
};

$fn=basename($filename);

$stat=array();
$table=fopen('week.csv', 'a');
while (!flock($table, LOCK_EX)) {};
/*
while (($data = fgetcsv($table, 1000, ",")) !== FALSE) {
	$stat[$data[0]]= (int) $data[1];
}*/
//$stat[$fn]= empty($stat[$fn]) ? 1 : $stat[$fn]+1;
//rewind($table);
//ftruncate($table,0);
//foreach ($stat as $key=>$value) {
//	fwrite($table, "\"".addslashes($key)."\", $value\n");
//}

fwrite($table, '"'.addslashes($fn).'","'.date("Y-m-d")."\"\n");

flock($table, LOCK_UN);
fclose($table);
$fsize = filesize($filename); 
$ftime = date("D, d M Y H:i:s T", filemtime($filename)); 
$fd = @fopen($filename, "rb"); 
if (!$fd){ 
  header ("HTTP/1.0 403 Forbidden"); 
  exit; 
} 
$range=false;
// Если запрашивающий агент поддерживает докачку 
if (isset($HTTP_SERVER_VARS["HTTP_RANGE"])) { 
  $range = $HTTP_SERVER_VARS["HTTP_RANGE"]; 
  $range = str_replace("bytes=", "", $range); 
  $range = str_replace("-", "", $range); 
  if ($range) {fseek($fd, $range);} 
} 
$content = fread($fd, filesize($filename)); 
fclose($fd); 
if ($range) { 
  header("HTTP/1.1 206 Partial Content"); 
} 
else { 
  header("HTTP/1.1 200 OK"); 
} 
header("Content-Disposition: attachment; filename=$fn"); 
header("Last-Modified: $ftime"); 
header("Accept-Ranges: bytes"); 
header("Content-Length: ".($fsize-$range)); 
header("Content-Range: bytes $range-".($fsize -1)."/".$fsize); 
header("Content-type: application/octet-stream"); 
print $content; 
exit; 



?>