Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
Давно без результатно бьюсь над одной загадочной проблемой.
Поблема в том что не возможно файл flash скачать на свой компьтер.
Т.е. проведите эксперимент (если кто не в курсе), нажмите в Интернет Эксплоре на ссылку ниже и попробуйте этот файл скачать.... ничего не выйдет.
http://gsmnet.ru/flash/counter_operations.swf
Кто-нибудь знает как это организовать?
Т.е. нужно чтобы даёшь например ссылку на flash-файл и он бы начинал скачиваться, а не открываться в окне броузера.
Варианты всяких манипуляций предлагать не стоит, потому что я сама-то знаю как скачать, мне нужно чтобы пользователи могли скачивать легко, нажатием на ссылку.
Без манипуляций с заголовками наверное не получится подсунуть флэш для сохранения. Кстати в ФФ появляется диалог выбора что делать с файлом - открыть или сохранить.
Без манипуляций с заголовками наверное не получится подсунуть флэш для сохранения.
Это нормально. Я имела ввиду всякие комп. манипуляции. А всё что связанное с Php - это нормально. Если можно поточнее как это сделать?
Я понимаю что это что-то по типу как-то так:
header("Content-Type: application/swf");
header("Content-Disposition: attachment; filename=файл.swf");
Но как точно сделать понятия не имею
Кстати в ФФ появляется диалог выбора что делать с файлом - открыть или сохранить.
И в Опере тоже. Но пользователи пользуются восновном IE. А там не скачивается.
Наверное
header("Content-type: application/octet-stream");
Добавлено спустя 16 секунд:
ну и аттачмент конечно
А что с этим теперь делать?
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=123.swf");
Т.е. мне нужно это вставить на страницу где я разместила например такую ссылку?
http://123.ru/flash/123.swf
Не, вроде не будет так...
.htaccess прописать такое:
AddType application/octet-stream .swf
Т.е. в .htaccess это:
AddType application/octet-stream .swf
А в саму страницу это:
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=123.swf");
Или только в .htaccess ?
только в хтацес
Не работает.
И с загаловками экспериментировала... скачивается просто пустой файл... никак не хочет.
Миссия не выполнима.
По поводу заголовков: они должны предварять поток самого swf.
Т.е. например в хтаццесс делаем реврайт с swf на наш скрипт, передавая параметром имя файла этой флэшки.
В скрипте шлём эти заголовки, открываем на чтение флэшку, порциями читаем и выдаем в поток вывода прочитанное. Это должно 100% работать.
Возможно я что-то не понимаю.
Но прогресс в реализации этого равен 0%.
Кстати эту проблему пока никто не решил, спрашивала ещё на других форумах...
В теории вроде всё должно... а на деле не получается.
downloads.php
<?php
if (file_exists($_GET['file']))
if ($fd = fopen ($_GET['file'], "r")){
$size=filesize($_GET['file']);
header("Pragma: ");
header("Cache-Control: ");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$_GET['file']."\"");
header("Content-length: $size");
while(!feof($fd)) {
$buffer = fread($fd, 2048);
print $buffer;
}
fclose ($fd);
exit;
}
.htaccess
RewriteEngine on
RewriteRule ^(.swf)$ downloads.php?file=$1 [QSA]
Не работает почему-то, не знаю.
Пробовали по-разному использовать этот код.
Я правильно делаю:
В любом файле я даю ссылку на downloads.php и должно начаться скачивание flash файла ссредствами php кода в этом файле? Т.е. это принципу как версия для печати.
ну теоретически да. мне неизвестно какую ссылку именно ты даешь, и что за файл открывает скрипт
ну теоретически да. мне неизвестно какую ссылку именно ты даешь, и что за файл открывает скрипт
А что это должна быть за ссылка?
ну вот например:
flash-ролик у меня допустим находится на странице: http://xxx.ru/flash.html (т.е. вставлен код от flash-ролика)
Под ним (на этой странице) я даю ссылку на файл downloads.php
Переход происходит к файлу downloads.php и начинает срабатывать скрипт в этом файле (т.е. в downloads.php).
Ну как и в "версии для печати".
Но не работет так...
Аллё....:o
Я рабочий скрипт предоставил, разные способы описал. Если что-то не работает, значит ты не так делаешь.
Давай поп опрядку:
1. Код страницы
2. Код скрипта
3. Путь к файлу
Описываю:
1) Код страницы (адрес страницы: test.html) с самим flash-роликом:
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<object type="application/x-shockwave-flash" data="flash.swf" width="100" height="100">
<param name="movie" value="flash.swf">
</object>
<a href="downloads.php">скачать этот flash</a>
</body>
</html>
2) Код скрипта (содержимое файла downloads.php):
<?php
if (file_exists($_GET['file']))
if ($fd = fopen ($_GET['file'], "r")){
$size=filesize($_GET['file']);
header("Pragma: ");
header("Cache-Control: ");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$_GET['file']."\"");
header("Content-length: $size");
while(!feof($fd)) {
$buffer = fread($fd, 2048);
print $buffer;
}
fclose ($fd);
exit;
}
?>
3) Путь к flash-файлу: /flash.swf
4) Содержимое файла .htaccess:
RewriteEngine on
RewriteRule ^(.swf)$ downloads.php?file=$1 [QSA]
замени
<a href="downloads.php">скачать этот flash</a>
на это:
<a href="downloads.php?file=flash.swf">скачать этот flash</a>
.htaccess очисти
hcs
Умничка...
Всё работает!
Спасиб тебе
Давно без результатно бьюсь над одной загадочной проблемой.
Поблема в том что не возможно файл flash скачать на свой компьтер,
Т.е. проведите эксперимент (если кто не в курсе), нажмите в Интернет Эксплоре на ссылку ниже и попробуйте этот файл скачать.... ничего не выйдет.http://gsmnet.ru/flash/counter_operations.swf
Кто-нибудь знает как это организовать?
Т.е. нужно чтобы даёшь например ссылку на flash-файл и он бы начинал скачиваться, а не открываться в окне броузера.Варианты всяких манипуляций предлагать не стоит, потому что я сама-то знаю как скачать, мне нужно чтобы пользователи могли скачивать легко, нажатием на ссылку.
А я скачиваю флэши так: ctrl+A и перетягиваю всё во флэшгет, потом в фильтре выбираю swf файлы. В единичных случаях схема не действует:)
Редактировался coordinator (2008-10-09 11:38:43)
Здорово! Тут все на пальцах объяснено, а в конце готовая формула, только копируй и вставляй. Что я и сделал. Смотрел на других форумах, там, если с начала не участвовал, то надо голову парить, потом что-то не работает. А тут все классно. Я даже не поленился, зарегистрировался.
Короче, большое спасибо, заходите, скачивайте у меня flash, только не напишу url, а то реклама будет.
Страницы 1
Тема закрыта