IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Как давать ссылки в html документе на *.avi файлы в локалке? (http://www.imho.ws/showthread.php?t=91601)

owlman 26.08.2005 18:05

Как давать ссылки в html документе на *.avi файлы в локалке?
 
Прошу прощения если спрашиваю очевидную и понятную вешь, но у меня ничего неполучается...
Что есть: есть web сервер в локальной сети, на нем же лежат фильмы и музыка.
Что нужно: нужно создать html документ в котором будут перечислены все имеющиеся фильмы.
Что получается/неполучается: когда заходишь на шару и открываешь любой фильм, то запускается плеер и кино играется... Если давать ссылки в html документе браузер пытается скопировать фильм в локальный temp вместо того чтобы отрыть прямо с сервера....
ВОПРОС: как давать ссылки, чтобы фильмы можно было смотреть "налету"?

Спасибо.

RaZEr 26.08.2005 18:09

Надо настроить сервер и, при необходимости, браузер. Конкретно нужно выставить заголовок Content-type.

owlman 27.08.2005 13:25

Цитата:

Сообщение от RaZEr
Надо настроить сервер и, при необходимости, браузер. Конкретно нужно выставить заголовок Content-type.

Хм... сервер? браузер? а что, простите, именно? если я правильно понимаю content-type video/avi надо указывать применительно к ссылке, или нет?

PS: если не затруднит, можно для примера пару строк?
Спасибо.

EvroStandart 27.08.2005 14:46

А можно ещё на пхп скрипт набросать

Ghost 27.08.2005 15:00

Я так понимаю, делаются ссылки вроде ...href="\\compname\share\path\movie.avi"... Вся проблема в том, что ссылки из href всегда скачиваются независимо от указания сохранить/открыть - во втором случае перед открытием файл все равно скачается. Думаю здесь надо делать ссылку не на файл, а на JS-скрипт, создающий WSH-Shell компонент, запускающий нужную программу и передающий в нее имя нужного файла из локальной сети в качестве параметра. Одна -проблема - работает только в винде, и только в ИЕ.

З.Ы. Кажись, что-то вроде такого:
Код HTML:

<HTML><HEAD><SCRIPT TYPE="text/javacsript">
function myPlayMovie (s) {
  var myWSH = new ActiveXObject('WScript.Shell');
  myWSH.Run(s);
}
</SCRIPT></HEAD><BODY>
<A HREF="#" onClick="javascript:myPlayMovie('D:\\movie.avi');">movie.avi</A>
</BODY></HTML>


owlman 27.08.2005 17:17

Ghost
Спасибо! А можно ли обойтись только средствами php?
Клиентские машины под Win + IE, но там еще и антивири... поэтому хотелось бы без Java...

aoxyz_30330 29.08.2005 21:53

ммм, смари, скрипт получает в строке запроса имя фаила, ссилка виглядит типа так:
PHP код:

<a href=download.php?path/to/file.avi>file.avi</a

скрипт:
PHP код:

<?php
$prefix 
'/home/xxx/film';
$filepath $prefix.'/'.$_SERVER['QUERY_STRING'];
//echo $filepath;
if(!file_exists($filepath)){
    
header('HTTP/1.0 404 Not Found');
    exit;
} else {
    
header('Status: HTTP/1.0 200 OK');
    
header('Content-Type: video/x-msvideo');
    
header('Accept-Ranges: bytes');
    
header('Content-Length: '.filesize($filepath));
    
header('Content-Disposition: inline; filename="'.basename($filepath).'"');

    
readfile($filepath);
}
?>

красивости уже дело техники

owlman 08.09.2005 22:39

к сожалению ничего из вышеперечисленного к положительным результатам не привело. film.avi либо не открывается вовсе, либо начинает копироваться на локальную машину... открыть фильм "на лету" неполучилось. Возможно вышеприведенные примеры содержали ошибки?

Hubbitus 09.09.2005 14:41

Значит так, в примере последнем выше, просто убираем строчку
header('Status: HTTP/1.0 200 OK');
Она лишняя, сервер статус выдаст сам нормально, но она мешает.

Далее строчку
header('Content-Type: video/x-msvideo');
меняем на
header('Content-Type: video/x-ms-wmv');
И все работает прекрасно. Проверил в ИЕ и FireFox


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

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.