Php 将图像尺寸自动添加到<;img>;

Php 将图像尺寸自动添加到<;img>;,php,jquery,image,frontend,dimensions,Php,Jquery,Image,Frontend,Dimensions,我在gtmetrix.com上为我的网站打分 它建议将图像尺寸添加到“我的所有图像”。问题是,我需要一些自动添加这些的方法,所以如果图像发生变化,尺寸就会更新 我所拥有的 <img src="bla.png"> 我想要什么 <img src="bla.png" width="{width of image}" height="{height of img}"> 有没有php方法或jquery方法可以做到这一点? 对于wordpress站点。您可以使用图像加载事

我在gtmetrix.com上为我的网站打分

它建议将图像尺寸添加到“我的所有图像”。问题是,我需要一些自动添加这些的方法,所以如果图像发生变化,尺寸就会更新

我所拥有的

<img src="bla.png">

我想要什么

<img src="bla.png" width="{width of image}" height="{height of img}">

有没有php方法或jquery方法可以做到这一点?
对于wordpress站点。

您可以使用
图像加载事件来计算图像的尺寸。纯javascript方法,类似于

var image = new Image();

image.onload = function()
{
  //after load complete you will get the image dimensions here from 
  //image.width and image.height
}

image.src = 'image url';

在php中,如果动态输出图像,则为
getimagesize($file)

php:

<?php
list($width, $height) = getimagesize("bla.png");
echo "<img src='bla.png' width='$width' height='$height'>";
?>

您应该使用PHP,而不是javascript。如果使用jQuery/javascript添加它,则在加载后将添加宽度和高度。指定宽度和高度的主要原因是为了让引擎更快地呈现页面。如果在加载后添加它,则没有任何帮助

您可以直接在图像标记中使用从
getimagesize()
返回的数组的索引3。它包含一个height=“yyy”width=“xxx”的字符串,可以直接在IMG标记中使用

<?php
    list($width, $height, $type, $attr) = getimagesize("file.png");
    echo "<img src='file.png' $attr />";
?> 


有关此功能的更多详细信息,请访问。

与没有尺寸相比,使用jQuery计算加载的图像尺寸实际上可能会降低网站速度。我的站点计算上传图像的尺寸,并将其存储到数据库中,PHP在加载时检索它们,但我的站点不是WP站点。事实上,在加载时执行任何操作都可能对页面加载速度有害。数据库方法在IMO中非常有效。IMO它违背了在markup@EjayOP可以在
图像的标记中指定维度。onload
事件是,但它仍将等待图像完全加载,因此,页面仍将重新呈现。没有完整的页面不会重新呈现,只有特定的图像宽度和高度属性在图像加载完成后才会更新。关于重新呈现,您是对的:)我尝试使用的特定术语是回流和重绘