Php 检索图像并将其加载到html页面中

Php 检索图像并将其加载到html页面中,php,javascript,mysql,Php,Javascript,Mysql,我正在使用php和ajax。我可以从数据库中检索图像,但我想以100px x 100px的大小显示图像,但它只检索原始图像大小,破坏了我所做的对齐工作 如何确定检索到的图像的宽度和高度。我使用以下代码从数据库中检索 $query = "select bin_data from imageupload where Id=1;"; $result = mysql_query($query, $con); $result_data = mysql_fetch_array($result, MYSQL_

我正在使用php和ajax。我可以从数据库中检索图像,但我想以100px x 100px的大小显示图像,但它只检索原始图像大小,破坏了我所做的对齐工作

如何确定检索到的图像的宽度和高度。我使用以下代码从数据库中检索

$query = "select bin_data from imageupload where Id=1;";
$result = mysql_query($query, $con);
$result_data = mysql_fetch_array($result, MYSQL_ASSOC);
header("Content-type: image/jpeg") ;
echo $result_data['bin_data'];

您可以使用PHP的
gd
模块来实现这一点。请参阅其文档中的函数和示例


请注意,这是一个昂贵的操作,因此您应该在上载图像时保存已调整大小的图像,或者缓存结果。

这些是此代码执行的步骤

  • 复制源图像
  • 计算图像尺寸
  • 调整图像大小(指定最大高度/宽度)
  • 保留纵横比
  • 写入目标图像
  • 这是从各种代码片段创建的 我在php.net和web上的其他地方找到了它。
    除此之外,我不接受任何代码 把这些碎片拼在一起


    如果bandwith没有问题,则调整图像大小对于服务器来说是CPU密集型的:

    <img src="theimage.jpg" style="width:100px; height:100px;" />
    
    
    
    现代浏览器会过滤图像,使其在调整大小时看起来很好

    如果要保持纵横比和裁剪,请执行以下操作:

    <div style="width:100px; height:100px; overflow:hidden; display:inline-block;">
      <img src="theimage.jpg" style="width:100px;" />
    </div>
    
    
    

    还考虑使用面食的答案加上图像缓存。要在不丢失原稿的情况下只调整每张图片的大小一次。

    在从数据库本身检索时,我想根据需要调整图像的大小
    <div style="width:100px; height:100px; overflow:hidden; display:inline-block;">
      <img src="theimage.jpg" style="width:100px;" />
    </div>