php - 使用 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>
请帮助解决此问题。
解决方案
推荐阅读
- ruby-on-rails - 将类动态解析为全局范围
- android - 转到该片段后,底部导航栏仍处于选中状态
- python - Python根据第一列中的键组合两列
- vim - 用VIM在C中应用“尤达条件”的最短方法是什么
- ios - 无法检索额外的标头 - Mailcore
- javascript - 悬停时在相对标签内滚动绝对图像
- javascript - 从 javascript 打开页面不起作用
- django - IndentationError: unindent 不匹配任何外部缩进级别 django
- python - 验证 Django 时间
- nativescript - 如何将数组数组传递给Java函数?