| imho.ws |
![]() |
|
|
|||||||
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
|
|
# 1 |
|
Newbie
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45
![]() |
Как сделать, чтоб вместо показа файла(.jpg,.gif) IE предложил его загрузить?)
Привет народ.
Проблема у меня. Как выяснилось - не простая. Вот допустим у меня лежит файло на вэбе -> file.jpg. Если на него сделать линк, то эксплорер его просто покажет в новом окне, тоесть выступит в роли просмотрищика. А мне надо каким-то боком сделать так, что когда кликаеш по ссылке он его бы предложил сохранить на диске. (как происходит с файлами .exe или .zip). Переименовывать файлы с другим расширением, паковать в зипы, кликать правой кнопкой --- НЕЛЬЗЯ. Файлы должны быть обычными графическими файлами. Собственно и причина для открытия данного топика - есть люди которые не умеют кликать правой кнопкой по ссылке и выбирать "Save Targe As..." А если им дать .zip так они тогда вообще не будут знать, что с этим делать, хоть 20 страниц обьяснений напиши...... Уф........ Я даже и искать не знаю где и как... Вроде нужно header менять, или что-то типа того... Плиз подсобите :-)) |
|
|
|
|
# 2 |
|
Registered User
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660
![]() ![]() |
Код:
<?
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);
?>
__________________
Всё будет хорошо! |
|
|
|
|
# 6 |
|
Registered User
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660
![]() ![]() |
Код:
<?
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);
?>
а вот ещё.. апгрейдед.. чтобы браузер (и 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. |
|
|
|
|
# 7 |
|
Newbie
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45
![]() |
Да с пивом нет проблем, слава Б-гу.
Тут одна фигня обнаружилась, так она все нафиг загубила: Если юзер качает файл большой, типа 5 мега, и в процессе загрузки через эксплорер кликает на "Cancel" то тогда вся сессия умирает напрочь и ни один линк не работает после этого уже. Вроде как переполнение буффера происходит, либо что-то в этом роде. Причем это происходит только с эксплорером. В нетскейпе ничего подобного не происходит - кликай на линку сколько хочеш и отменяй в просессе сколько хочеш. Как ни мучай броузер - не затыкается. А эксплорер пару-тройку раз кликнеш и повис..... Почитал в MSDN - им это вроде как известно. Советуют ActivX компонент писать либо java Applet использовать...... Так как жить-то? У yahoo.com есть возможность файлы графические в брифкейс складывать. А если захочеш можешь их обратно на комп сгрузить - так сколько не играй с доунлоадом и последующей отменой - ничего не састревает..... Нда..... |
|
|
|
|
# 8 |
|
Registered User
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660
![]() ![]() |
странно очень, была у меня эта проблемка.. я её решал с плмошью 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;
?>
__________________
Всё будет хорошо! |
|
|
|
|
# 9 |
|
Newbie
Регистрация: 12.08.2002
Адрес: Канада
Сообщения: 45
![]() |
Как это?
Даже если и пересохранять, все равно надо как-то юзеру файл передавать...... Я вот тут нашел фигню . Мимоходом.... http://support.microsoft.com/default...;en-us;Q266305 |
|
|