获取特色图像的大小(单位为KB或MB)?

时间:2014-06-30 作者:Advanced SEO

我需要在帖子页面上显示一些特色图片信息。在其他信息中,我需要显示图像的文件大小(帖子的特色图像)。

我在single中尝试了这个函数。php。

<?php
function getSize($file){
   $bytes = filesize($file);
   $s = array(\'b\', \'Kb\', \'Mb\', \'Gb\');
   $e = floor(log($bytes)/log(1024));

  return sprintf(\'%.2f \'.$s[$e], ($bytes/pow(1024, floor($e))));
}
?>
为了回应这一点:

<?php echo getSize(\'/wp-content/uploads/2014/06/some-file-name.jpg\'); ?>
它可以工作,但我需要帮助使ti自动抓取特色图片url,而不是手动在代码中输入它?

例如,我使用它来回显特征图像(“完整”)url:

 <?php
 if ( has_post_thumbnail()) {
   $full_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'full\');
echo $thumb_image_url[0];
 }
?> 
你能帮我把它结合起来,或者给我提供另一个解决方案吗?

1 个回复
SO网友:Nicolai Grossherr

您可以使用get_attached_file() 收件人:

根据附件ID检索附件文件路径。

get_post_thumbnail_id() 若要确定当前帖子或任何帖子的帖子缩略图,请将$post_id 参数示例性用法:

$bytes = filesize(
    get_attached_file(
        get_post_thumbnail_id()
    )
);
使用size_format()

将给定数量的字节转换为人类可读的格式

$hr_size = size_format( $bytes );
如果您确实想获得其中一个中间大小的大小,上面显示了完整图像的文件大小,请使用image_get_intermediate_size(), 其中:

元数据“size”用于可用于参数$size值的兼容大小。

这意味着它使用wp_get_attachment_metadata() 获取数据。此外,您还需要wp_upload_dir() 构建路径。示例性用法:

$upload_dir = wp_upload_dir();
$metadata_size = image_get_intermediate_size( 
    get_post_thumbnail_id(),
    \'thumbnail\'
);
$path_inter = $upload_dir[ \'basedir\' ] . \'/\' . $metadata_size[ \'path\' ];
$bytes = filesize(
    $path_inter
);
$hr_size = size_format( $bytes );

结束

相关推荐

Removing blog page images

我有我的blog page here 然而,在我创建的一个网站上,我不太明白在哪里可以找到代码来去除我孩子主题上的图像。我使用的是2010年的代码,我已经设置了自己的博客模板页面,但它不起作用,所以我显然编辑了错误的文件。所以不是循环。php我想要编辑的文件,以便在主博客页面上删除这些图像?<?php /* How to display all other posts. */ ?> <?php else : ?> <div i