我需要在帖子页面上显示一些特色图片信息。在其他信息中,我需要显示图像的文件大小(帖子的特色图像)。
我在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];
}
?>
你能帮我把它结合起来,或者给我提供另一个解决方案吗?
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 );