netconstructorcom
  • 0
Мастер

Может ли WordPress изменить размер файлов BMP?

  • 0

Интересная ситуация, с которой я только что столкнулся.

У меня есть сайт, который я разрабатываю, на котором я определил определенные размеры изображений, которые я хочу создавать всякий раз, когда загружается новое изображение. В настоящее время давайте просто скажем, что я определил конкретный размер эскиза 75×75 и изображение среднего размера 150×150 пикселей.

Предполагая, что мы продолжаем загружать новое изображение с помощью встроенного загрузчика мультимедиа, мы ожидаем, что WordPress автоматически загрузит и сохранит исходное изображение вместе с любыми дополнительными размерами изображений, которые я указал в моем файле functions.php (в данном случае 75×75 и изображения размером 150×150 пикселей).

Во-первых, показанный выше пример действительно работает отлично, и я очень доволен результатами.

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

Моя цель здесь — выяснить, кто еще мог заметить эту проблему, пытаясь найти решение этой проблемы. Мне нужно убедиться, что даже при загрузке большого файла bmp код

the_post_thumbnail( array(50,50), 'class=alignleft' );

покажет изображение размером 50×50 пикселей.

На всякий случай, если кому-то интересно, я подтвердил, что эта проблема конкретно связана с изображением bmp, взяв исходное изображение bmp и сохранив его как файл jpg и png через фотошоп, а затем используя медиа-менеджер wordpress для загрузки тех же файлов, преобразованных фотошопом… В обоих случаях я заметил, что после загрузки каждого преобразованного файла точно такие же изображения БЫЛИ правильно изменены.

Я также должен отметить, что когда изображение файла bmp было загружено, фактическая загрузка этого файла происходила DID, однако в медиа-менеджере было доступно только исходное (полноразмерное) изображение для вставки в сообщения, и проверка папки загрузки мультимедиа также показала только один образ.

Любое руководство, помощь или диагностика с благодарностью!

Share
  1. Я не верю, что PHP поддерживает файлы BMP без помощи внешних функций, например.

    • 0
  2. Нет, WordPress не может изменять размер файлов BMP. Имейте в виду, что нет смысла использовать файлы BMP на веб-сайте, потому что многие веб-браузеры не могут их отображать.

    Типы файлов, поддерживаемые WordPress и широко поддерживаемые интернет-браузерами: GIF, JPG и PNG.

    Эти форматы оптимизированы для использования в Интернете, поскольку они сжимают данные изображения. BMP является распространенным форматом изображений, но не в Интернете, поскольку он имеет большие размеры файлов.

    • 0
  3. Это из другого потока с кодом, который позволяет вам ограничивать разрешенные типы файлов.

    add_filter('wp_handle_upload_prefilter', 'yoursite_wp_handle_upload_prefilter');
    function yoursite_wp_handle_upload_prefilter($file) {
    // This bit is for the flash uploader
    if ($file['type']=='application/octet-stream' && isset($file['tmp_name'])) {
    $file_size = getimagesize($file['tmp_name']);
    if (isset($file_size['error']) && $file_size['error']!=0) {
      $file['error'] = "Unexpected Error: {$file_size['error']}";
      return $file;
    } else {
      $file['type'] = $file_size['mime'];
    }
    }
    list($category,$type) = explode('/',$file['type']);
    if ('image'!=$category || !in_array($type,array('jpg','jpeg','gif','png'))) {
    $file['error'] = "Sorry, you can only upload a .GIF, a .JPG, or a .PNG image file.";
    } else if ($post_id = (isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : false)) {
    if (count(get_posts("post_type=attachment&post_parent={$post_id}"))>0)
      $file['error'] = "Sorry, you cannot upload more than one (1) image.";
    }
    return $file;
    }
    

    Код от MikeSchinkel

    • 0

Оставить ответ

You must login to add an answer.