Поддержка Проблемы и решения Не разрешены типы файлов при корректном functions.php

  • Решено Demkov

    (@demkov)


    Добрый день.

    Сегодня обновил действующую тему Atahualpa и пару плагинов (ЕМНИП, Simple Backup, Invisible Captcha и enable media replace), после чего создал ещё один сайт подсети и на этом закончил любые манипуляции с ресурсом.

    Вечером обнаружилось, что я не могу загружать большинство файлов, такие как odt, doc, docx, при том что jpg и pdf замечательно загружаются. Проверил functions.php и сравнил с прошлыми версиями бекапов — не менялся. Что может быть, куда копать? Подозреваю сеть сайтов.

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Автор Demkov

    (@demkov)

    Сеть состоит из нескольких сайтов:
    1. Основной сайт (il.bsu.edu.ru)
    2. Англоязычный (il.bsu.edu.ru/en/)
    3. Небольшые промо-странички к юбилею (il.bsu.edu.ru/20/)
    Последнее и создал сегодня.

    Что может быть, куда копать?

    ЧАВО

    Автор Demkov

    (@demkov)

    SeVlad, спасибо!
    Не догадался, что при создании сети сайтов необходимо прописывать разрешённые файлы у каждой темы каждого сайта сети.
    Список из разрешённых формирую следующим образом:

    function additional_mime_types($mimes) {
    	$mimes['doc'] = 'application/msword';
    	$mimes['odt'] = 'application/vnd.oasis.opendocument.text';
    	$mimes['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
    	return $mimes;
    }
    add_filter('upload_mimes', 'additional_mime_types');

    А MIME-описание (я беру из wp-includes/functions.php) указывать обязательно, или можно просто копипастить и список составлять?

    Не догадался, что при создании сети сайтов необходимо прописывать разрешённые файлы у каждой темы каждого сайта сети.

    Ну можно и плагинами решить вопрос. Указанный по ссылке устарел (хотя мб и работает, не знаю), но альтернативы-то есть
    Вот например такой. В нём, правда, нет интересующих типов, но думаю исправить\дополнить плаг не проблема. Ну или найти ещё какой другой.

    А MIME-описание (я беру из wp-includes/functions.php) указывать обязательно, или можно просто копипастить и список составлять?

    В смысле?

    Автор Demkov

    (@demkov)

    Ну можно и плагинами решить вопрос.

    Затыкать все мелкие косяки плагинами не linux-way.
    Но беда в том, да, что при обновлении темы functions.php будет потёрт вместе со всеми записанными разрешениями, верно?

    В смысле?

    Ну вот я указываю для DOC тип ‘application/msword’, а зачем я это делаю, если загрузка и так происходит и вроде всё работает?

    Затыкать все мелкие косяки плагинами не linux-way.

    И откуда берётся эта параноя — боязнь плагов? Травма от бездумного чтения говноблогов?

    Плаг — тот же код, что и в теме, только «вынесенный» из неё.

    при обновлении темы functions.php будет потёрт вместе со всеми записанными разрешениями, верно?

    Для этого случая есть механизм дочерних тем.

    Ну вот я указываю для DOC тип ‘application/msword’, а зачем я это делаю, если загрузка и так происходит и вроде всё работает?

    В стартпосте Вы говорили, что не работает 😉
    Для решения это проблемы, сосбсно, и создали топик. Не?

    Автор Demkov

    (@demkov)

    В стартпосте Вы говорили, что не работает 😉

    Не работала загрузка файлов. С вашей помощью починили, но для загрузки достаточно просто перечня разрешённых расширений (doc, odt), а вот описание (application/msword) можно не указывать, работает и с описанием RAR (application/x-rar-compressed). Я вот и думаю, что оно даёт, указание описания.

    а вот описание (application/msword)

    Это не описание, это указание mime-типа файла.

    можно не указывать, работает и с описанием RAR (application/x-rar-compressed)

    Один хостинг может понять по расширению (если есть такие настройки в апаче\пхп), а другой не обязан это делать. Намёк понятен? 😉

    Автор Demkov

    (@demkov)

    Один хостинг может понять

    То есть у нас сервак на винде? Или я таки не понял.
    Ладно, буду указывать на всякий пожарный.

    То есть у нас сервак на винде? Или я таки не понял.

    Не так видимо. 😉 Не от ОС это зависит, а от настроек вебсервера (апача или др) и\или пхп.
    Тут же двусторонняя палка — ЮА (клиент, браузер) отдаёт, а сервер (с ПО, обрабатывающим запрос) принимает. Они должны найти общий язык и однозначно понять друг-друга. (если что-то будет не понятно — будут включаться дефолтные настройки или же давать отлуп)

    А потом в обратный путь — юзеровский ЮА (браузер) запросил файл, а сервер его должен отдать. Да так, что бы ЮА понял что с ним делать.
    А по пути ещё разные серверы-ретрансяляторы. Они тоже должны понять и передать без искажений.
    Впрочем, обратный путь к данной задаче отношения не имеет. Просто рассказал для понимания «процессов».

    /* офтоп
    О! пока писал шапка на форуме поменялась 🙂
    */

    [off]

    О! пока писал шапка на форуме поменялась 🙂

    Кнопку добавили :))

    Модератор Yuri

    (@yube)

    [offtop]

    Кнопку добавили :))

    Скачать интернет :)))

    Кнопку добавили :))

    Она была. Только оранжевой 😉

    Вся шапка ж поменялась. Я сперва аж вздрогнул от чёрного.. (недолюбливаю такой диз)

    Она была. Только оранжевой 😉

    Хмм.. У меня не было.. На ее месте была навигация и поиска у меня не было..

    (недолюбливаю такой диз)

    точно.. лучше б зеленым покрасили :))))

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Тема «Не разрешены типы файлов при корректном functions.php» закрыта для новых ответов.