createResultSet($sql, $databasename); $rows = $sql->getRow(); $filename1=$rows[1].".".$rows[2]; $filename1=iconv("WINDOWS-1251", "UTF-8", $filename1); $mimetype=returnMIMEType($filename1); $cd=$_SERVER["DOCUMENT_ROOT"]."/downloads"; //$cd - путь к файлу, $fn=$rows[0].".".$rows[2]; //$fn - имя файла $filename = $cd."/".$fn; if (!file_exists($filename)) { header ("HTTP/1.0 404 Not Found"); exit; } $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; } // Если запрашивающий агент поддерживает докачку if (isSet($_SERVER["HTTP_RANGE"])) { $range = $_SERVER["HTTP_RANGE"]; $range = str_replace("bytes=", "", $range); $range = str_replace("-", "", $range); if ($range) {fseek($fd, $range);} } $content = fread($fd, filesize($filename)); fclose($fd); if (isSet($range)) { header("HTTP/1.1 206 Partial Content"); header("Content-Length: ".($fsize-@$range)); header("Content-Range: bytes $range-".($fsize -1)."/".$fsize); } else { header("HTTP/1.1 200 OK"); } header("Content-Disposition: attachment; filename=$filename1"); header("Last-Modified: $ftime"); header("Accept-Ranges: bytes"); header("Content-type: $mimetype"); print $content; exit; ?>