引言
1. 了解HTTP Header
2. 设置Content-Type Header
header('Content-Type: image/jpeg'); // 设置为JPEG格式
image/jpeg:JPEG格式image/png:PNG格式image/gif:GIF格式
3. 设置Content-Disposition Header
header('Content-Disposition: inline'); // 图片直接显示
header('Content-Disposition: attachment; filename="image.jpg"'); // 图片下载,并指定文件名
4. 设置Cache-Control Header
header('Cache-Control: max-age=3600'); // 缓存图片1小时
将Cache-Control Header设置为max-age可以指定缓存时间(以秒为单位)。这有助于减少服务器负载,提高页面加载速度。
5. 设置Expires Header
$expires = date("D, d M Y H:i:s", time() + 3600);
header("Expires: $expires"); // 设置图片过期时间为1小时后
6. 示例代码
<?php
// 假设图片文件名为'image.jpg'
$imagePath = 'path/to/image.jpg';
// 检查文件是否存在
if (file_exists($imagePath)) {
// 获取图片信息
$imageInfo = getimagesize($imagePath);
// 设置Header
header('Content-Type: ' . $imageInfo['mime']);
header('Content-Disposition: inline');
header('Cache-Control: max-age=3600');
header("Expires: " . date("D, d M Y H:i:s", time() + 3600));
// 读取并输出图片内容
readfile($imagePath);
} else {
echo '图片不存在!';
}
?>