imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 23.09.2002, 13:31     # 1
udr5
Newbie
 
Аватар для udr5
 
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45

udr5 Путь к славе только начался
Как сделать, чтоб вместо показа файла(.jpg,.gif) IE предложил его загрузить?)

Привет народ.
Проблема у меня. Как выяснилось - не простая.
Вот допустим у меня лежит файло на вэбе -> file.jpg.
Если на него сделать линк, то эксплорер его просто покажет в новом окне, тоесть выступит в роли просмотрищика.
А мне надо каким-то боком сделать так, что когда кликаеш по ссылке он его бы предложил сохранить на диске. (как происходит с файлами .exe или .zip).
Переименовывать файлы с другим расширением, паковать в зипы, кликать правой кнопкой --- НЕЛЬЗЯ.
Файлы должны быть обычными графическими файлами.
Собственно и причина для открытия данного топика - есть люди которые не умеют кликать правой кнопкой по ссылке и выбирать "Save Targe As..."
А если им дать .zip так они тогда вообще не будут знать, что с этим делать, хоть 20 страниц обьяснений напиши......
Уф........
Я даже и искать не знаю где и как...
Вроде нужно header менять, или что-то типа того...
Плиз подсобите
:-))
udr5 вне форума  
Старый 23.09.2002, 19:02     # 2
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
Код:
<?
header("Content-type: unknown/xxx");
header("Content-Disposition: attachment; filename=image.gif");
$fd = fopen("image.gif", "r");
while (!feof ($fd)) {
    $buffer = fgets($fd, 4096);
    echo $buffer;
}
fclose ($fd);
?>
не пробовал но должно пойти
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 23.09.2002, 19:11     # 3
udr5
Newbie
 
Аватар для udr5
 
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45

udr5 Путь к славе только начался
Класс :-)
спасибо огромное.
Заработало :-)
Правда у меня теперь другая проблема - как к файлу путь указать? Релайтив не работает, а физический указать нет возможности.
Мучаюсь короче....
udr5 вне форума  
Старый 23.09.2002, 20:37     # 4
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
почему нет возможносит?
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 23.09.2002, 20:40     # 5
udr5
Newbie
 
Аватар для udr5
 
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45

udr5 Путь к славе только начался
Потому, что сервер другой. Один вэб - на котором бежит вся аппликация, а фторой файл - с файлами на борту.
Есть, конечно, драйв замэпленный, но ненадежно как-то. Мне кажется...
udr5 вне форума  
Старый 24.09.2002, 01:29     # 6
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
Код:
<?
header("Content-type: unknown/xxx");
header("Content-Disposition: attachment; filename=image.gif");
$fd = fopen("http://www.server2.ru/image.gif", "r");
while (!feof ($fd)) {
    $buffer = fgets($fd, 4096);
    echo $buffer;
}
fclose ($fd);
?>
с тебя пиво :xex:

а вот ещё.. апгрейдед.. чтобы браузер (и dl manager) размер картинки знал... только *немного* (чуть-чуть) сервер грузить будет.. :xex: хотя можно оптимировать через скрипт на удалённом компе... но не забивай голову.. всё будет кульно

Код:
<?
$fd = fopen("http://www.server2.ru/image.gif", "r");
while (!feof ($fd)) {
    $buffer .= fgets($fd, 4096);
}
fclose ($fd);
header("Content-type: unknown/xxx");
header("Content-Length: ".strlen($buffer));
header("Content-Disposition: attachment; filename=image.gif");
echo $buffer;
?>
__________________
Всё будет хорошо!

Последний раз редактировалось Stasik; 24.09.2002 в 01:42.
Stasik вне форума  
Старый 25.09.2002, 20:52     # 7
udr5
Newbie
 
Аватар для udr5
 
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45

udr5 Путь к славе только начался
Да с пивом нет проблем, слава Б-гу.
Тут одна фигня обнаружилась, так она все нафиг загубила: Если юзер качает файл большой, типа 5 мега, и в процессе загрузки через эксплорер кликает на "Cancel" то тогда вся сессия умирает напрочь и ни один линк не работает после этого уже. Вроде как переполнение буффера происходит, либо что-то в этом роде. Причем это происходит только с эксплорером. В нетскейпе ничего подобного не происходит - кликай на линку сколько хочеш и отменяй в просессе сколько хочеш. Как ни мучай броузер - не затыкается. А эксплорер пару-тройку раз кликнеш и повис.....
Почитал в MSDN - им это вроде как известно. Советуют ActivX компонент писать либо java Applet использовать......
Так как жить-то? У yahoo.com есть возможность файлы графические в брифкейс складывать. А если захочеш можешь их обратно на комп сгрузить - так сколько не играй с доунлоадом и последующей отменой - ничего не састревает.....
Нда.....
udr5 вне форума  
Старый 25.09.2002, 21:38     # 8
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
странно очень, была у меня эта проблемка.. я её решал с плмошью php сессий... т.е. пересохранял файл - а потом давал скачивать + проверял активнось..... темп файлы удалял через 10-15 минут, но места это жрать будет


хотя по идее

Код:
<?
$fd = fopen("http://www.server2.ru/image.gif", "r");
while (!feof ($fd)) {
    $buffer .= fgets($fd, 4096);
}
fclose ($fd);
header("Content-type: unknown/xxx");
header("Content-Length: ".strlen($buffer));
header("Content-Disposition: attachment; filename=image.gif");
echo $buffer;
?>
виснуть не должен
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 25.09.2002, 21:41     # 9
udr5
Newbie
 
Аватар для udr5
 
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45

udr5 Путь к славе только начался
Как это?
Даже если и пересохранять, все равно надо как-то юзеру файл передавать......
Я вот тут нашел фигню . Мимоходом....

http://support.microsoft.com/default...;en-us;Q266305
udr5 вне форума  
Старый 25.09.2002, 21:48     # 10
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
ну вот и забудь об этом.... а у тебя какой? у меня вот 6.0
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 25.09.2002, 21:51     # 11
udr5
Newbie
 
Аватар для udr5
 
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45

udr5 Путь к славе только начался
А из моих 25.000 юзверов 75% - MSIE 5.х......... ((((((
udr5 вне форума  
Старый 25.09.2002, 22:06     # 12
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
патч выложи а сделай проверку версии через user-agent... хотя саксит это... M$ SUXXX
__________________
Всё будет хорошо!
Stasik вне форума  


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

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

Быстрый переход


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




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