首页 > 解决方案 > 使用 https 时 PHP readfile() 损坏的图像问题

问题描述

我们用 PHP 开发了一个画廊应用程序,它显示图像列表。早些时候,画廊托管在 Http 中,并且运行良好。最近我们将代码移至 https。在那里,我们面临着一个奇怪的问题。一些图像没有被加载(虽然一些被加载)。最终,当我们使用 Http 时,所有内容都被正确加载(在同一主机中)。请注意,当有多个图像时,就会出现这个问题。对于单个图像,代码在 https 中运行良好。

示例代码如下:

加载图像.php

<?php
$fileId = $_GET['id'];
$filePath = getFilePath($fileId);
if(file_exists($filePath) && isset($filePath)){
   $path = $filePath;
} else {    
   $path = "img/default.jpg";
}
$getInfo = getimagesize($path);
header('Content-type: ' . $getInfo['mime']);
header('Content-Length: ' . filesize($path));
readfile($path);
?>

测试图像.html

<html>
 <img src="loadImage.php?id=1">
</html>

请帮助解决此问题。

标签: phpimagehttpsreadfile

解决方案


推荐阅读