Не нравятся результаты поиска? Попробуйте другой поиск!

Вопрос по download.php


     16.02.2013    Ламерские вопросы    4558

вопрос
Доброго времени суток уважаемые эксперты и просто не безразличные посетители.
Я да и походу не только я решил сварганить сайт с мобильными приложениями на DLE 9.7. Но возникла проблема с аттачами, почти все стандартные браузеры качают файлы с именем download.php. Стандартный андроид браузер вообще отказывается загружать файлы. Опытным для себя выясни, что файл download.php передает не полные заголовки, то есть не передает размер и имя скачиваемого файла.

Подскажите пожалуйста способ решения данной проблемы.

Ответил: nowheremany


В download.class.php
должно быть так

найти
        $this->properties = array ('old_name' => $path, 'new_name' => $name, 'type' => "application/force-download", 'size' => $file_size, 'resume' => $resume, 'max_speed' => $max_speed );

после вставить

        $type = explode( ".", $name );
        $type = strtolower( end( $type ) );
        if( $type == "apk" ) $this->properties['type'] = "application/vnd.android.package-archive";
        if( $type == "pdf" ) $this->properties['type'] = "application/pdf";
        if( $type == "doc" OR $type == "docx") $this->properties['type'] = "application/vnd.ms-word";
        if( $type == "mp4" ) $this->properties['type'] = "video/mp4";

Комментарии пользователей (20)

Serik
4

408 | 191

Serik - 16 февраля 2013 20:29 - Местный

Попробывал - сделал как в ответе. Все кеши почистил везде. Не сработало - так же выдаёт php везде в мобильных браузерах кроме Оперы.

СПАСИБО надо тыкать в кнопку!

nowheremany
192

1659 | 1292

nowheremany - 16 февраля 2013 21:18 - Эксперт

Какой файл то скачиваете

Благодарность принимаю тут Связь

Serik
4

408 | 191

Serik - 16 февраля 2013 21:29 - Местный

.apk

СПАСИБО надо тыкать в кнопку!

nowheremany
192

1659 | 1292

nowheremany - 16 февраля 2013 21:53 - Эксперт

подправил ответ

Благодарность принимаю тут Связь

mixa-m
11 | 8

mixa-m - 16 февраля 2013 21:44 - Юзер

И все-же, как заставить dle нормально отдавать .apk и .jar ? В .htaccess все прописано па канонам, но скрипт отдает не верные заголовки.

mixa-m
11 | 8

mixa-m - 16 февраля 2013 22:16 - Юзер

Прошу прощения, просто не заметил сообшение о том , что ответ отредактирован. nowheremany, вы на спаситель, большое спасибо за помошь. Теперь все работает как надо.

Serik
4

408 | 191

Serik - 17 февраля 2013 12:10 - Местный

А что в .htaccess надо ещё прописать, а то у меня всё так же PHP отдаёт ((

СПАСИБО надо тыкать в кнопку!

mixa-m
11 | 8

mixa-m - 17 февраля 2013 13:07 - Юзер

B.htaccess надо ещё прописать
AddType application/vnd.android.package-archive .apk

Если и этого не достаточно, то добавить соответствующие MIME TYPE в панели управления хостинга

evd
17 | 17

evd - 18 февраля 2013 00:51 - Юзер

У меня всё ровно скачивает php
(DLE 9.8)
В /engine/classes/download.class.php заменил стандартный код, с ним не работало тоже...

В какой .htaccess надо написать? и после чего? (В тот что в корне или в тот который в папке uploads)

Эта тема тоже очень сильно волнует...

mixa-m
11 | 8

mixa-m - 18 февраля 2013 05:51 - Юзер

Можно в корне добавть последнюю строчку, но у меня заработало после того как изменил файлы, добавил миме тип apk в панели (DirectAdmin) и дождался пока сервер перезагрузился.

evd
17 | 17

evd - 18 февраля 2013 20:26 - Юзер

У меня к сожалению не выделенный сервер... Как еще можно решить эту проблему?
Спасибо.

mixa-m
11 | 8

mixa-m - 18 февраля 2013 21:41 - Юзер

У меня тоже не выделеный сервер, обычный шаред хостинг. Какая у Тебя панель?

evd
17 | 17

evd - 18 февраля 2013 21:44 - Юзер

Честно говоря не знаю... (Вот мой хостинг)

mixa-m
11 | 8

mixa-m - 18 февраля 2013 22:09 - Юзер

Если для входа в панель вы используете адрес https://Ваш_сайт:2083/ , то у вас Cpanel, добавить, MIME типы очень легко. Просто выполните следующие действия:

- Войти в Cpanel и нажмите на иконку "Типы MIME" под раздел "Дополнительно".

- На странице "Типы MIME под" Создайте MIME тип ", просто введите MIME тип вы хотите добавить "application/vnd.android.package-archive" на сервер и соответствующим расширением "apk".

- Далее, щелкните по кнопке "Добавить".

evd
17 | 17

evd - 18 февраля 2013 22:17 - Юзер

Увы не Cpanel, у меня панель идет через сам хостинг... в виде http://cpanel.hostinger.ru/index
И не https...они его никак не сделают.
Спасибо за помощь!

Serik
4

408 | 191

Serik - 19 февраля 2013 14:43 - Местный

Ересь какая то - всё что мог сделал - не пашет. Чую тут ещё и в браузерах подвох - Опера же норм качает как положено..

СПАСИБО надо тыкать в кнопку!

vipslavik
1

vipslavik - 7 ноября 2013 02:48 - Юзер

Та же проблема. Дле 9.8 (лицензия)
При загрузке файла на андроид смартфон загружается download.apk.
Добавил mime types, добавил строчку в хтаццес, изменил довнлоад.класс.пхп, но ничего не изменилось, проблема осталась.
Помогите, пожалуйста, решить эту проблему!

mixa-m
11 | 8

mixa-m - 11 ноября 2013 02:49 - Юзер

Рекомендую обновится до 10.1 там подобной проблемы не наблюдается

vladik865
1

vladik865 - 23 января 2014 13:00 - Юзер

По некоторым причинам не могу обновиться на 10.1 так как шаблон тм почему то не работает как нужно.
Я заменил download.class.php и download.php, на файлы из DLE 10.1 так же прописал
AddType application/vnd.android.package-archive .apk в .htaccess, теперь все работает как нужно.

nenondra
2

nenondra - 27 июля 2014 12:50 - Юзер

Скажите пожалуйста, как прописать для форматов fb2, epub, mobi, txt?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы