web-dev-qa-db-ja.com

メディアタイプが.GIFの場合

これを行う方法を探していましたが、ここでもではなく、何かを見つけることができないようです。

私は自分のサイトの画像をリサイズするためにtimthumbを使っています。ほとんどの人が知っているように、アニメーションGIFのサイズを変更した後は、もう動作しなくなります。だから私は、その.gifファイルタイプであれば画像をスキップする方法が必要です。何かのようなもの

<?php if( typegif() ) { ?>
<img src="<?php $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID),'full' ); echo $src[0]; ?>" alt="Image# <?php the_ID(); ?> "/> 
 <?php } else { ?>
 <img src="<?php bloginfo( 'template_url' ); ?>/thumbs/timthumb.php?src=<?php $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' ); echo $src[0]; ?>&w=280" alt="Image# <?php the_ID(); ?> "/> 
 <?php } ?>

もう少し掘った後、私はこのコードを見つけました、しかしそれはうまくいきませんでした。

  $attachment_mime = wp_check_filetype(wp_get_attachment_url($post->ID) );
   if ( $attachment_mime['type'] == 'image/gif') { 
       echo 'this is gif';
       }
       else {
       echo 'this aint gif';
       }
1
Noob Theory

wp_check_filetype()を正しく使っているかどうかはよくわかりません。私は、投稿サムネイルの内線がjpgかどうかを判断するために、次のことを試しました。

$url = wp_get_attachment_url( get_post_thumbnail_id( ) );
$filetype = wp_check_filetype($url);
    if ($filetype[ext] == 'jpg') {
        echo 'this is gif';
    }
    else {
       echo 'this aint gif';
    }

おそらくすでに知っているかもしれませんが、関数が返すものを見たい場合はecho print_r($filetype)を使えば返された配列が表示され、返された情報の最良の使い方を詳しく調べることができます。

1
desmillicious