![]() |
|
||||||||||
|
|||||
|
Заливаю swf на сайт, всё запускается.
Качаю его же средствами php, а при открытии белый расползшийся экран. Если же качать напрямую, то всё норм. Значит что-то в скрипте. Использую вот сие чудо: <?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;
?>
Либо поставлю вопрос иначе, как правильно качать swf?))) Последний раз редактировалось AleXNoD GD; 19.09.2008 в 13:31. |
|
|||||
|
и давно пора уже вместо $HTTP_SERVER_VARS использовать $_SERVER
|
|
|||||
|
|
|
|||||
<?php
$file_name = "1.swf";
if( !file_exists($file_name) ){
header ("HTTP/1.0 404 Not Found");
header("Content-Type: text/html");
//header("Content-Disposition: attachment;filename=404.html");
die('<html><body><h1>404</h1></body></html>');
}
$fp = fopen ($file_name, "rb");
if( isset($_SERVER['HTTP_RANGE']) ){
$seek = str_replace( array('bytes=','-'), '', $_SERVER['HTTP_RANGE']);
fseek($fp, $seek);
header("HTTP/1.1 206 Partial Content");
}
$contents = fread ($fp, filesize ($file_name));
fclose ($fp);
$length = strlen($contents);
header("Content-Type: application/x-shockwave-flash");
header("Content-Length: {$length}");
header("Content-Disposition: attachment;filename={$file_name}");
print $contents;
?>
Последний раз редактировалось Mnilionic; 20.09.2008 в 04:10. |
|
|||||
|
мне не нужен
|
|
|||||
|
в принципе можно застраховаться если вдруг фаил не удаётся прочесть.
Только если вы "не смыслите" Вам это не поможет. Потому как куски одного кода не всегда подходят к другому. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|