Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.09.2008, 12:55
AleXNoD GD вне форума Посмотреть профиль Отправить личное сообщение для AleXNoD GD Посетить домашнюю страницу AleXNoD GD Найти все сообщения от AleXNoD GD
  № 1  
Ответить с цитированием
AleXNoD GD
 
Аватар для AleXNoD GD

Регистрация: Jan 2006
Адрес: Минск
Сообщений: 195
Отправить сообщение для AleXNoD GD с помощью ICQ
Заливаю 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.
Старый 19.09.2008, 18:34
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 2  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Код:
if( isset($HTTP_SERVER_VARS["HTTP_RANGE"]) ){...
и давно пора уже вместо $HTTP_SERVER_VARS использовать $_SERVER

Старый 19.09.2008, 19:41
AleXNoD GD вне форума Посмотреть профиль Отправить личное сообщение для AleXNoD GD Посетить домашнюю страницу AleXNoD GD Найти все сообщения от AleXNoD GD
  № 3  
Ответить с цитированием
AleXNoD GD
 
Аватар для AleXNoD GD

Регистрация: Jan 2006
Адрес: Минск
Сообщений: 195
Отправить сообщение для AleXNoD GD с помощью ICQ
Если бы это решало проблему
__________________
Русские флеш игры

Старый 19.09.2008, 23:00
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 4  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Код:
if ($range){
любим грабли?

Старый 20.09.2008, 03:56
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 5  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Код:
<?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.
Старый 20.09.2008, 22:47
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 6  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Mnilionic, а код
Код:
if (!$fd){ 
  header ("HTTP/1.0 403 Forbidden"); 
  exit; 
}
как у AleXNoD GD не нужен?

Старый 20.09.2008, 23:01
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 7  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
мне не нужен

Старый 21.09.2008, 03:56
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 8  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
А в принципе нужен? Я в пхп не смыслю, а код заюзать хочется.

Старый 21.09.2008, 19:59
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 9  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
в принципе можно застраховаться если вдруг фаил не удаётся прочесть.
Только если вы "не смыслите" Вам это не поможет.
Потому как куски одного кода не всегда подходят к другому.

Старый 22.09.2008, 12:30
AleXNoD GD вне форума Посмотреть профиль Отправить личное сообщение для AleXNoD GD Посетить домашнюю страницу AleXNoD GD Найти все сообщения от AleXNoD GD
  № 10  
Ответить с цитированием
AleXNoD GD
 
Аватар для AleXNoD GD

Регистрация: Jan 2006
Адрес: Минск
Сообщений: 195
Отправить сообщение для AleXNoD GD с помощью ICQ
Не, всё то же самое. Оно то качается, но ни черта не воспроизводится.
Ладно, придется через Header("location") )))
__________________
Русские флеш игры

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:41.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.