Показать полную графическую версию : [решено] По нажатию по ссылке для скачивания файла в браузере кракозябы
Сайт пишется в программе Joomla 1.5.10, которая установлена на локальном сервере Apache 2 (набор для web-разработчика Denver 3, который включает в себя Apache 2 + SSL, PHP 5, MySQL 5, phpMyAdmin). По нажатию по ссылке для скачивания файла в браузере кракозябы. В Html коде сайта я прописываю ссылку вида: <a href="compprice.rar">Скачать прайс</a> Сам файл compprice.rar лежит в директории "Z \home\localhost\www\moysite", в той же директории, что и файл index.php, то есть должен скачиваться.
Исходный html код я просматривал в браузере - все нормально, ссылка такая какая я и прописал. Но при ссылке скачать открывается страница и выводится что-то типа: Rar!Пђsм$t Ђ*ҐOB™”еG$. Я копировал адресс ссылки и вставлял ее в DownLoad Master. Он закачивал файл, но при сохранении писал что файл является html страницой, сохранить как html? В чем проблема - не знаю, подскажите пожалуйста. Может нужно ссылку прописывать как-то по-другому для сайта написанном на php? Спасибо.
dima1981
17-05-2009, 18:37
SashaKl, Попробуй прописать путь к файлу полностью и на странице с Rar!Пђsм$t Ђ*ҐOB™”еG$ » кодировку в браузере переставить но это не факт, только как вариант, на самом деле мне кажется это в confige сервера т.е. апача что то, щас подскажет кто разберается, думаю
SashaKl, сервер отдает файл как HTML, на деле это *.rar. Надо настроить сервер (увы, как - не знаю - далек от этого дела) или использовать другой формат архива *.exe или *.zip
SashaKl, на ссылке нужно ПКМ сохранить как ... ;)
видимо апач редиректит через mod_rewrite или Redirect (там какая то схема скачивания хитрая), и дело в кодировке имени html-файла...
dima1981
17-05-2009, 23:43
дело в кодировке имени html-файла » это как это понять, подскажи пожалуйста
значит имя файла в той кодировке, которую не поддерживает апач (обычно имена дб в UTF-8)... крякозябры - это имя файла, как его понял сервер...
там сначала надо разобраться в схеме скачки (куда редиректит, и что там должно быть)... обычно находится в файле .htaccess или конфиге сервера...
Денвер не перенастраивали? По дефолту нормально настроен, фигову тучу времени на нем тестю, все должно работать праивльно.
Только что проверил у себя, один-в один как вы описали - dm отлично распознал принимаемый файл как rar.
Выложите ваш index.php что ли.......
Rar!Пђsм$t Ђ*ҐOB™”еG$ - это м все? может там еще много таких же кракозябр?
Попробуйте потестить в других браузерах.
Я разместил файл "music.mp3" вместо "compprice.rar", соответственно в ссылке тоже исправил название и расширение файла. Попробовал скачать - все отлично скачивается. Истина где-то рядом. Может что то в настройках сервака прописывается или где-то в настройках Joomla какие типы файлов разрешено скачивать с сервера, а какие нет? Как я понял здесь дело в расширении файла.
Потом попробовал расположить там архив "corpus.zip" и опять ничего не получилось. Только на этот раз сервер написал что такого файла не существует в данной директории. Вот скриншот: http://forum.oszone.net/attachment.php?attachmentid=26418&stc=1&d=1242657477 Сервер я скачивал с официального сайта Denver. Настройки дефолтные оставил.
dima1981
18-05-2009, 19:21
Конечно хорошо разобраться в чем суть, но можа при таком желании не денвером заниматься, но скачать понормальному апач, пшп, майадмин, муйскл и разбераться с чистого листа, вот кстати хорошая ссылка с инструкцией по установке http://php-myadmin.ru/learning/instrument-intro.html
SashaKl, выложите .htaccess из корня, там редиректы мб прописаны (если конфиг не правили)...
Исходный html код я просматривал в браузере - все нормально, ссылка такая какая я и прописал. »
Надо было смотреть заголовки, которыми обмениваются сервер и клиент.
Долго я мучился и наконец-то мне удалось!!! Причина оказалась в том, что Joomla создает ячейки и структуру своей базы данных в кодировке utf-8, а в Denver по умолчанию кодировка cp1251_general_ci. Вот и получалась несовместимость. Пришлось удалять базу данных и делать все заново, создавать все базы данных в кодировке utf-8 и utf-8_bin зато получил полезный урок. Спасибо всем.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.