web-dev-qa-db-fra.com

Wordpress peut redimensionner BMP des dossiers?

Situation intéressante que je viens de rencontrer.

J'ai un site que je développe dans lequel j'ai défini les tailles d'image que je veux créer chaque fois qu'une nouvelle image est téléchargée. Actuellement, disons simplement que j'ai défini une taille de vignette spécifique de 75x75 et une image de taille moyenne de 150x150 pixels.

En supposant que nous procédions au téléchargement d’une nouvelle image à l’aide du programme de téléchargement intégré, nous nous attendrions à ce que Wordpress télécharge et stocke automatiquement l’image originale, ainsi que toutes les tailles d’images supplémentaires spécifiées dans mon fichier functions.php (dans ce cas, le 150 x 150 pixels).

Tout d’abord, l’exemple illustré ci-dessus fonctionne parfaitement et je suis très heureux des résultats.

Ce que j’ai remarqué, c’est que lorsque vous choisissez un fichier bmp pour télécharger le redimensionnement automatique n’a pas lieu.

Mon objectif ici est de déterminer qui d'autre aurait pu remarquer ce problème en essayant de trouver une solution à ce problème. Je dois veiller à ce que même lorsqu’un fichier volumineux est chargé, le code

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

montrera l'image 50x50 pixels.

Juste au cas où quelqu'un serait intéressé, j'ai confirmé que ce problème était spécifiquement lié à l'image bmp en prenant l'image bmp originale et en l'enregistrant au format jpg et png dans Photoshop, puis en utilisant le gestionnaire de média wordpress pour télécharger les mêmes fichiers convertis par photoshop. ... Dans les deux cas, j'ai remarqué qu'après le téléchargement de chaque fichier converti, les mêmes images étaient correctement redimensionnées.

Je dois également signaler que, lorsqu'une image de fichier bmp est chargée, le téléchargement effectif de ce fichier DID a lieu, mais dans le gestionnaire de médias, seule l'image d'origine (taille réelle) était disponible pour être insérée dans les messages et en vérifiant la dossier de téléchargement de médias a également montré qu'une seule image.

Toute orientation, aide ou diagnostic est grandement apprécié!

2
NetConstructor.com

Non, wordpress ne peut pas redimensionner les fichiers BMP. Attention, l'utilisation de fichiers BMP sur un site Web n'a aucun sens, car un grand nombre de navigateurs Web ne sont pas en mesure de les afficher.

Les types de fichiers pris en charge par Wordpress et largement pris en charge par les navigateurs Internet sont: GIF, JPG et PNG.

Ces formats sont optimisés pour une utilisation sur Internet car ils compressent les données d'image. BMP est un format d'image courant, mais non utilisé sur Internet, car il contient des fichiers de grande taille.

5
hakre

Il s'agit d'un autre thread , avec un code qui vous permet de limiter les types de fichiers que vous autorisez.

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;
}

Le code est par MikeSchinkel

1
Lars Koudal