[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: работа с файлами
Bizon4ik
Доброе время суток.

У меня на сервере есть вордовский файл.
Я хочу что бы при нажатии на картинку\ссылку пользователю предложили стандартное окно сохранить/открыть этот файл.

Я думал что при написании ниже указанного кода все получится.

<a href="ссылка на файл для открытия"> <img src="путь к файлу рисунка" /> </a>


Однако не тут то было, браузер пытается открыть файл как страницу и в результате иероглифы.

Как сделать так что бы при нажатии на ссылку пользователю предложили стандартное окно сохранить файл или же сразу же открыть в ворде?
forza
Нужно отправить соответствующие заголовки.

header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Disposition: attachment;filename="' . $fileName . '"');


_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
Bizon4ik
Цитата (forza @ 20.07.2013 - 21:07)
Нужно отправить соответствующие заголовки.

header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Disposition: attachment;filename="' . $fileName . '"');

Я наверное не точно задал вопрос или чего то не знаю.

Но header прописываться в начале страницы и выполняется до вывода каких либо данных. Если его прописать то предложении о скачивании файла будет сразу при открытии страницы, а мне необходимо что бы файл загружался/открывался только тогда когда на определенную ссылку нажму, и при этом пользователь остался на текущей странице.

Поправьте меня если я не прав с header.
killer8080
Цитата (Bizon4ik @ 20.07.2013 - 23:15)
Однако не тут то было, браузер пытается открыть файл как страницу и в результате иероглифы.

Во всех браузерах? Какое расширение файла? doc или docx? Возможно серверу нужно прописать майм тип для этого расширения в конфиге.
Bizon4ik
Цитата (killer8080 @ 21.07.2013 - 09:03)
Во всех браузерах? Какое расширение файла? doc или docx? Возможно серверу нужно прописать майм тип для этого расширения в конфиге.

Не знаю как во всех браузерах, но в Chrome и FireFox так точно.
Расширение файла docx
Ваше предложении о майм типе это для меня китайская грамота smile.gif , я такого не знаю, не могли бы Вы тут чуть подробней рассказать (для информации: у меня денвер)
Bizon4ik
Оказывается проблема в типе файла *.docx. То есть если ссылку делать на файл *.doc то все работает, а при docx пробует открыть как страницу.
Кто знает как можно заставить браузер сохранять docx а не открывать их?
Bizon4ik
Кстати только что проверил и в Ex10 все работает как нужно.

А почему не работает в Chrome и в FireFox не понятно.

П.С.
Смотрел через F12 в Chrome, то в хедерах по ссылке почему передается что тип text\html

http://savepic.org/4105728.jpg

В денвере в файле httpd я прописал
AddType application/msword  .docx
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document .docx

#AddType application/msword .docx
#AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document .docx


Так же в корневой дериктории сайта создал файл .htaccess с теми же строками
killer8080
Цитата (Bizon4ik @ 21.07.2013 - 21:40)
В денвере в файле httpd я прописал
AddType application/msword  .docx
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document  .docx
#AddType application/msword  .docx#AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document  .docx

Так же в корневой дериктории сайта создал файл .htaccess с теми же строками

у апача есть файл mime.types вот там и нужно было прописать соответствующий майм тип, для расширения docx.
Bizon4ik
Я и в mime.types записал и тоже не помогло.
Это наверное у меня так денвер глючит. Я перелил на хост, так там все работает отлично...
killer8080
Цитата (Bizon4ik @ 23.07.2013 - 16:17)
Я и в mime.types записал и тоже не помогло.

значит неправильно прописывал, и денвер, кстати, при этом нужно перезапускать.
Цитата (Bizon4ik @ 23.07.2013 - 16:17)
Я перелил на хост, так там все работает отлично...

естественно, это вопрос конфигурации сервера,а не программирования. wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.