Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: php + видео-архив
 
 автор: global_query   (19.06.2005 в 01:18)
 
 

Доброго вермени суток !
Вообщем столкнулся с проблемой (
Есть видео-архив, на php + MySQL, с категориями.
Все работает на ура ))) Кроме ....
Вообщем проблема заключается вот в чем :
Пользователь заходит на страницу с выбранным фильмом : file.php?id=$id?go=1
Там есть ссылка : скачать .
Нажемаем на ссылку скачать происходит следующее :

if($go == 1) {
header("Location: $url");
}


где $url - выбранный из БД адресс фильма.
Internet_explorer не предлогает его сохранить (
Начинает открывать просто или с помощью Windows MEdia Player.
Как сделать правильно , что-бы нажав на ссылку: "скачать", выскочило окошко и пользователь мог выбрать на своем компъютере локальную папку и сохранить его в эту папку .
Как сделать правильно подскажите !
П.С.
В скором времени планирую выложить этот скрипт публично !

   
 
 автор: cheops   (19.06.2005 в 09:23)   письмо автору
 
   для: global_query   (19.06.2005 в 01:18)
 

Попробуйте перед заголовком Location послать ещё следующие
<?php
header
("Content-Disposition: attachment; filename=$filename"); 
header("Content-type: application/octet-stream");
?>


http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=242

   
 
 автор: global_query   (20.06.2005 в 00:49)
 
   для: cheops   (19.06.2005 в 09:23)
 

как я только не крутил , он сохраняет HTML документ (((
Сам файл никак в header не проскакивает (((
Помогите

   
 
 автор: global_query   (20.06.2005 в 20:11)
 
   для: global_query   (20.06.2005 в 00:49)
 

Ну что кто-нибудь поможет ???
Приведите хоть пример пожалуйста

   
 
 автор: cheops   (20.06.2005 в 20:15)   письмо автору
 
   для: global_query   (20.06.2005 в 20:11)
 

А $url как выглядит? Вообще говоря у нас так организован раздел downloads http://www.softtime.ru/info/downloads.php всё работает без дополнительных усилий...

   
 
 автор: global_query   (20.06.2005 в 22:30)
 
   для: cheops   (20.06.2005 в 20:15)
 

$url выглядет следующим образом:
http://localhost/films/any_file.avi или
ftp://ftp/incoming/video/any_file.avi

Вообщем такого плана

   
 
 автор: global_query   (20.06.2005 в 22:38)
 
   для: global_query   (20.06.2005 в 22:30)
 


Header('Content-Type: application/avi'); 
header("Content-Disposition: attachment; filename=$filename");



Сохраняет нужный формат *.avi но всеравно не сам файл ((
Сохраняет страничку в формате avi

   
 
 автор: glsv (Дизайнер)   (21.06.2005 в 05:25)   письмо автору
 
   для: global_query   (20.06.2005 в 22:38)
 

Приведите, пожалуйста, код вашего скрипта.
Вы выполняли вот этот скрипт?

<?php 
$filename 
$_GET['filename']; 
$fd fopen($filename"r"); 
if (!
$fd){ 
  
header ("HTTP/1.0 403 Forbidden"); 
  exit; 

$content fread($fdfilesize($filename)); 
fclose($fd); 
header("Content-Disposition: attachment; filename=$filename"); 
header("Content-type: application/octet-stream"); 
print 
$content
exit; 
?>

   
 
 автор: global_query   (21.06.2005 в 09:34)
 
   для: glsv (Дизайнер)   (21.06.2005 в 05:25)
 



if($go == 1) {

 $f_n = $_GET['file'];

$sq = mysql_query("select * from files where id= '".$f_n."';");
$dd = @mysql_fetch_array($sq);
if(!dd) exit();
$filename = "$dd[url]";

$fd = fopen($filename, "r"); 
if (!$fd){ 
  header ("HTTP/1.0 403 Forbidden"); 
  exit; 

$content = fread($fd, filesize($filename)); 
fclose($fd); 
header("Content-Disposition: attachment; filename=$filename"); 
header("Content-type: application/octet-stream"); 
print $content; 
exit; 
}



Выдирает из таблицу URL файла по id.
Но всеравно хочет сохранить html документ

   
 
 автор: glsv (Дизайнер)   (21.06.2005 в 10:04)   письмо автору
 
   для: global_query   (21.06.2005 в 09:34)
 

Странно. У меня все нормально сохраняет – именно тот файл, который запросил.
Попробуйте вывести на экран содержимое файла.

$content = fread($fd, filesize($filename));
echo $content;


PS:
Вот здесь ошибка. $ пропущено.

if(!dd) exit();

   
 
 автор: glsv (Дизайнер)   (21.06.2005 в 10:05)   письмо автору
 
   для: global_query   (21.06.2005 в 09:34)
 

А вот такой заголовок?

http://www.softtime.ru/forum/read.php?id_forum=0&id_theme=4167&page=1

   
 
 автор: global_query   (21.06.2005 в 20:24)
 
   для: glsv (Дизайнер)   (21.06.2005 в 10:05)
 


header("Content-Disposition: attachment; filename=$dd[name]"); 
header("Content-Type: application/x-force-download; name=\"$filename\""); 



$dd[name] - имя фалйа, пример: test.avi
$filename - URL файла, пример: http://localhost/films/test.avi
Сохраняет файл с именем: test.avi, но в момент просомтра через текстовый документ после сохраненеия файла в нем содержится html код выполненого скрипта

   
 
 автор: glsv (Дизайнер)   (22.06.2005 в 06:29)   письмо автору
 
   для: global_query   (21.06.2005 в 20:24)
 

А все же не пробовали выводить содержимое прочитанного файла сразу на страницу?

$content = fread($fd, filesize($filename)); 
echo $content;

Вообще говоря, fread может не успеть прочитать полностью файл с видео...

Тестируете на локальной машине или на внешнем хосте?

   
 
 автор: global_guery   (22.06.2005 в 10:25)
 
   для: glsv (Дизайнер)   (22.06.2005 в 06:29)
 

Тестирую на локальной машине , сервер под Windows XP.
Файл пробывал читать , выводится бинарный код , еле успел закрыть окно браузера , что-бы не подвис компьютер

   
 
 автор: Ninja   (29.01.2006 в 14:28)   письмо автору
 
   для: global_query   (19.06.2005 в 01:18)
 

Дайете, мне пожалуста такой скрипт! Хочу у себя в локалке поставить сервак с фильмами и повесить на него такой скрипт чтобы было типа такого:
[b1. Полная автоматизация скрипта.(Админу не нужно ползать по файлам рыская где лежит тот или иной фаил который нужно править.)
2. Поддержка MySQL дает возможность вести статистику всех фильмов.
3. Для каждого фильма есть система рейтинга.
4. В скрипте есть общий рейтинг.
5. Для каждого фильма существует возможность оставить комментарий.
6. Загрузка изображений для фильмов производится автоматически вам просто надо указать папку и выбрать фаил изображения, ввести все данные и нажать кнопку добавить фильм.
7. В админском интерфейсе есть следующие возможности: Добавлять фильм, удалять, изменять, управлять голосованием на главной странице, добавлять клипы, удалять клипы, редактировать клипы.
8. Статистика по клипам ведется отдельно, но в скорем времени в версии 1.2. будет общий рейтинг.
9. Система поиска по названию фильма, совпадения в найденных фильмах выделяются красным цветом.
10. Клипы группируются по исполнителям, что осуществляет более удобный просмотр.
11. В систему Клипов добавлена возможность просматривать клип прямо в окне браузера…
12. На главной странице в календаре показывается день пополнения коллекции, при необходимости можно кликнуть на данный день и посмотреть все фильмы добавленные в этот день. ][/b] выручайте пришлите или подскажите где можно взять ninja@uch.net

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования