仅使用 PHP 是不可能做到这一点的(不包括与 DOM 加载和 HTML 有关的方法,推荐的方法是使用观察程序并在检测到图像加载完成时触发事件)。
不过,有一些方法可以加快 PHP 中的图像加载速度:
确保图像存储在目录中,而不是BLOB
如果您将图像以某种硬编码格式存储在数据库中,而不是直接从您的目录访问,那么您应该停止这样做。这会显着增加加载时间和渲染图像。
在本地完成大小调整
在将图片上传到服务器之前直接调整图片大小。您可以通过使用 PHP 内置函数来做到这一点。像这样的:
$source_imagex = imagesx($source_image);
$source_imagey = imagesy($source_image);
$dest_imagex = AVATAR_IMAGE_WIDTH;
$ratio = $dest_imagex / $source_imagex;
$dest_imagey = $ratio * $source_imagey;
$dest_image = imagecreatetruecolor($dest_imagex, $dest_imagey);
$image = imagecopyresampled($dest_image, $source_image, 0, 0, 0, 0, $dest_imagex, $dest_imagey, $source_imagex, $source_imagey);
您可以计算预尺寸图像的宽度和高度,并适当地缩放以保持纵横比。常量AVATAR_IMAGE_WIDTH 可以设置为任何值(或AVATAR_IMAGE_HEIGHT),或者您可以根据自己的喜好调整变量。这将防止 CSS 必须加载 DOM 并以全尺寸加载图像,然后将其调整为您想要的任何大小。