Вопрос или проблема
Когда я пытаюсь загрузить любой файл PNG, я получаю следующее сообщение об ошибке:
У меня не установлено никаких плагинов или чего-либо еще, что могло бы вызвать это. Я даже добавил следующую строку, чтобы исправить это:
define('ALLOW_UNFILTERED_UPLOADS', true);
Поскольку это локальная установка, безопасность не является проблемой. Но это все равно не решило мою проблему. Есть идеи, что могло бы вызвать эту проблему?
Эта ошибка возникает в _wp_handle_upload
функции. Как видно из вышеуказанной строки, она возникнет, когда WordPress не сможет определить, какой тип файла или расширение файла вы пытаетесь загрузить. Попробуйте отладить переменные $type
и $ext
, чтобы выяснить, почему ваш файл .png
не распознается правильно.
Я предполагаю, что ваш веб-сервер/WordPress неправильно распознает mime-тип png
. Вот почему переменная $type
равна false|null|0
.
Вы правильно добавили эту строку?
define('ALLOW_UNFILTERED_UPLOADS', true);
Потому что я столкнулся с той же проблемой несколько дней назад, и я добавил этот код в мой файл wp-config прямо над строкой, где говорится /* Это все, прекратите редактирование! Удачного блоггинга. */
После загрузки файла я убрал эту строку из файла wp-config.
Попробуйте использовать плагин WP Extra file types. Установите этот плагин на своем сайте WordPress, и вам будет предложено множество вариантов расширений. Вы можете выбрать любые расширения, которые хотите, например PNG, и загрузить файл PNG. Этот плагин автоматически будет поддерживать ваши файлы. Вы также можете добавить новый тип файла, которого нет в библиотеке, и отредактировать его. Это очень простой способ загрузить любые файлы, которые вы хотите.
Пожалуйста, вставьте скрипт ниже в файл function.php вашей темы:
function custom_myme_types($mime_types){
$mime_types['images'] = "png/jpg";
return $mime_types;
}
add_filter('upload_mimes', 'custom_myme_types', 1, 1);
WordPress имеет логику для проверки содержимого файла. Если оно не соответствует расширению файла, он может не принять загрузку.
Ответ или решение
Сообщение об ошибке "Извините, этот тип файла не разрешен по соображениям безопасности", возникающее при попытке загрузить файл PNG в WordPress, может привести к нежелательным задержкам в вашем рабочем процессе. В данном ответе мы рассмотрим возможные причины данной проблемы и представим шаги по её устранению.
Причины возникновения ошибки
-
Ошибки в конфигурации сервера: Игнорирование правильно настроенных MIME-типов может вызвать данную проблему. Сервер должен корректно распознавать MIME-тип файла PNG.
-
Кеширование браузера или сервера: Иногда проблема может заключаться в устаревшей кэшированной версии файлов на стороне клиента или сервера.
-
Проблемы с установкой WordPress: Если ваша локальная установка WordPress каким-то образом повреждена или неправильно настроена, это также может привести к проблемам с загрузкой.
Шаги по исправлению
-
Проверка настройки
wp-config.php
:
Ваша попытка разрешить загрузку неразрешенных файлов с помощью строкиdefine('ALLOW_UNFILTERED_UPLOADS', true);
близка к правильной, однако убедитесь, что эта строчка добавлена именно перед строкой/* That's all, stop editing! Happy blogging. */
в вашем файлеwp-config.php
. -
Проверка MIME-типов:
Убедитесь, что сервер распознает MIME-тип PNG. Это можно сделать, добавив следующий код в файлfunctions.php
вашей темы:function custom_mime_types($mime_types){ $mime_types['png'] = 'image/png'; return $mime_types; } add_filter('upload_mimes', 'custom_mime_types', 1, 1);
Этот код гарантирует, что WordPress будет распознавать PNG как допустимый тип файла для загрузки.
-
Использование плагина:
Если предыдущие методы не помогли, вы можете установить плагин WP Extra File Types. Этот плагин предоставляет возможность легко добавлять новые типы файлов, которые вы хотите разрешить на загрузку. Это особенно полезно, если вы часто работаете с файлами различных типов. -
Очистка кеша:
Убедитесь, что кэш вашего браузера и кэш сайта очищены. Иногда старые данные могут препятствовать корректной обработке новых файлов. -
Проверка конфигурации сервера:
Если вы уверены, что все настройки правильно настроены, но проблема сохраняется, проверьте конфигурацию вашего веб-сервера (например, Apache или Nginx). Убедитесь, что настройки для типов MIME не запрещают загрузку изображений. -
Удаление конфликтующих плагинов:
Хотя вы упомянули, что не используете плагины, если у вас возникли проблемы после установки нового плагина, попробуйте его временно деактивировать, чтобы исключить возможность конфликта.
Заключение
Ошибка "Извините, этот тип файла не разрешен по соображениям безопасности" может быть вызвана различными факторами. Следуя приведенным выше шагам, вы сможете идентифицировать и устранить причину проблемы с загрузкой файлов PNG. Если проблема продолжает возникать, рассмотрите возможность обращения к технической поддержке или сообществу WordPress для получения дополнительной помощи.