base64_encode 的问题使我的网站变慢 php

problem with base64_encode which slower my site php

我在 base64_encode 中使用了图像 src 加密,但是该代码使我的网站变慢了,但是当我放置此代码时,它使我的网站变慢了。所以有没有人有任何解决方案可以通过这种类型的加密使我的网站更快。我把我的代码放在下面。

<?php
   while ($user = mysqli_fetch_array($queryResult, MYSQLI_ASSOC)){
      if ($user["main_picture"]){
       $imageData = base64_encode(file_get_contents($user["main_picture"]));
       $result .= '<td><div class="user_image_container"><img src="data:image/jpeg;base64,'.$imageData.'"></img></div></td>';
      }
      else{
          $result .= '<td></td>';
      }
?>

任何人都可以帮助我。

当您使用此代码加载页面时,PHP 解释器必须完成通过网络获取图像,然后才能解释页面的其余部分,这会增加时间。

如果您在没有此代码的情况下加载页面并使用直接 link 图像,页面本身会加载得更快,然后 浏览器将加载图像。

可能的解决方法:使用数据库存储映射到图像的 single-use 标记。当用户加载页面时,生成一个令牌(这比拉取图像更快)并将图像 src 指向您设置的 image-serving 端点,该端点检查令牌,将其标记为已使用,获取文件,然后发送图像。如果您希望它真正一次性使用,您可能 运行 遇到缓存问题,但它至少隐藏了图像的来源。