[2023-01-23] 4images 1.10 released
0 Members and 1 Guest are viewing this topic.
$user_access = get_permission();
$rangeheader=getenv("HTTP_RANGE");$rangeheader=str_replace("bytes=","",$rangeheader);$range=explode("-", $rangeheader);$offset1=$range[0];$offset2=$range[1];
function get_file_data($file_path) { global $script_url;
global $script_url;
global $script_url,$offset1,$offset2;
ob_start(); @ob_implicit_flush(0); @readfile($file_path); $file_data = ob_get_contents(); ob_end_clean();
$fp=fopen($file_path,"rb"); fseek($fp,$offset1); if (empty($offset2)) $offset2=filesize($file_path)-1; $file_data=fread($fp, $offset2-$offset1); fclose($fp);
else { echo $lang['download_error']."\n<!-- NO ACTION SPECIFIED //-->"; exit;}if (!empty($file['file_data'])) {
header("HTTP/1.1 206 Partial Content");
else { header("Content-Disposition: attachment; filename=\"".$file['file_name']."\"\n"); header("Content-Type: application/octet-stream\n"); }
header("Accept-Ranges:bytes"); header("Content-Range:bytes ${offset1}-${offset2}/".filesize($file["file_path"])); header("Connection:close"); header("Content-Length: ".($offset2-$offset1)."\n\n");
$file_data=@fread($fp, $offset2-$offset1);
Как корректно заставить броузер скачать и записать файл вместо открытияв окне с поддержкой докачки? (пример скрипта)Предполагается, что$cd - путь к файлу,$fn - имя файла<?php$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 ($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;?>
кляп просто не будет скандалить - но серверу от этого легче не станет на нем так же будет большая загрузка от обработки кривых хедеров.вот тут нашел сие:можно как нибудь с помощью этого подправить мод ?
Parse error: parse error, unexpected ',' in /home/educima/public_html/download.php on line 108
$script_url,$offset1,$offset2;