Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как броузер заставить скачать файл, нужно скачать wma, браузер его открывает 
:(
    Опции темы
shurup_312
Дата 4.11.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Люди добрые.. такой вопрос, похожие темф на форуме увидел, но они к моему случаю не подошли.
Итак. мне надо чтоы браузер сохранял мне wma файл на диск, а не открывал ео по умолчанию.
Вот так написал 
Код

<?php 
$fname = $_GET['mfile'];    
$fpath = $fname;    
$fsize = filesize($fpath);    
$bufsize = 20000;    
if(isset($_SERVER['HTTP_RANGE']))    
{    
   if(preg_match("/^bytes=(\\d+)-(\\d*)$/", $_SERVER['HTTP_RANGE'], $matches)) {    
       $from = $matches[1];    
       $to = $matches[2];    
       if(empty($to))    
       {    
           $to = $fsize - 1;    
       }    
       $content_size = $to - $from + 1;    
       header('HTTP/1.1 206 Partial Content');    
       header('Content-Range: '.$from.'-'.$to.'/'.$fsize);    
       header('Content-Length: '.$content_size);    
       header('Content-Type: audio/x-ms-wma');    
       header('Content-Disposition: attachment; filename='.$fname);    
       header('Content-Transfer-Encoding: binary');    
       if(file_exists($fpath) && $fh = fopen($fpath, 'rb'))    
       {    
           fseek($fh, $from);    
           $cur_pos = ftell($fh);    
           while($cur_pos !== FALSE && ftell($fh) + $bufsize < $to+1)    
           {    
               $buffer = fread($fh, $bufsize);    
               print $buffer;    
               $cur_pos = ftell($fh);    
           }    
           $buffer = fread($fh, $to+1 - $cur_pos);    
           print $buffer;    
           fclose($fh);    
       }    
       else    
       {    
           header('HTTP/1.1 404 Not Found');    
           exit;    
       }    
   }    
   else    
   {    
       header('HTTP/1.1 500 Internal Server Error');    
       exit;    
   }    
}    
else    
{    
   header('HTTP/1.1 200 OK');    
   header('Content-Length: '.$fsize);    
   header('Content-Type: audio/x-ms-wma');    
   header('Content-Disposition: attachment; filename='.$fname);    
   header('Content-Transfer-Encoding: binary');    
   if(file_exists($fpath) && $fh = fopen($fpath, 'rb')){    
       while($buf = fread($fh, $bufsize))    
           print $buf;    
       fclose($fh);    
   }    
   else    
   {    
       header('HTTP/1.1 404 Not Found');    
   }    
}    
?>


То есть выдернул пример, который тут нашел на форуме ток MIME тип поменял... и он у мну действительно вроде как скачивает этот файл.. хотя окна скачки и не появляется, но сам файл появляется на диске.. и размер вроде правильный. Я его открыл блокнотом, а там..


<html>
<head>
<title></title>
</head>
<body>
0&@uОf+ж+
б+<Р

и усе. подвскажите плис конкретно для wma пример...
PM MAIL   Вверх
0LineGate
Дата 6.11.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 176
Регистрация: 17.2.2007
Где: Россия, Тула

Репутация: нет
Всего: 2



пффф... обязательно wma? зачем весь это геморрой с хедерами? как вариант ужать в архив smile)
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1801 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.