Php htaccess会破坏我的图像吗?
我正在尝试重写一个PHP文件,该文件在浏览器中将图像动态显示为.jpeg格式,使其看起来像一个图像路径 我的问题是,在引入重写规则后,图像会中断。当我检查源代码时,图像路径是正确的,但我看到的只是“断开的图像图标” 非常感谢您的帮助 这是.htaccessPhp htaccess会破坏我的图像吗?,php,.htaccess,Php,.htaccess,我正在尝试重写一个PHP文件,该文件在浏览器中将图像动态显示为.jpeg格式,使其看起来像一个图像路径 我的问题是,在引入重写规则后,图像会中断。当我检查源代码时,图像路径是正确的,但我看到的只是“断开的图像图标” 非常感谢您的帮助 这是.htaccess Options +FollowSymlinks RewriteEngine On RewriteRule ^images/([a-zA-Z0-9_-]+)\.jpeg$ image.php?id=$1 下面是PHP/HTML代码: <
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^images/([a-zA-Z0-9_-]+)\.jpeg$ image.php?id=$1
下面是PHP/HTML代码:
<?php
$imgname = ($_GET["id"]) . ".jpeg";
$imgpath = "images/" . $imgname;
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
if (file_exists($imgpath)) {
echo "<img src='" . $imgpath . "'" . " alt='image'></img>";
} else {
header("HTTP/1.0 404 Not Found");
}
?>
</body>
</html>
之后:
$imgname = ($_GET["id"]) . ".jpeg";
$imgpath = "images/" . $imgname;
加:
不要在那里使用任何HTML-对于JPEG请求,服务器应仅使用标题和实际图像内容进行响应。您不能提供包含HTML内容的图像 以下将是一个如何正确地交付图像的脚本的极简版本
<?php
header('Content-Type: image/jpeg');
readfile('images/' . $_GET['id'] . '.jpeg');
尝试访问图像image.php?id=xxxx
而不使用任何标题(即注释掉header()
函数),您可能在image.php
@RyanNaddy中有一个php错误。没有错误。他将所有图像重定向到php文件,但他不是提供图像本身,而是提供一个返回到图像的html,该图像显然不会显示图像,因为图像被重定向。
<?php
header('Content-Type: image/jpeg');
readfile('images/' . $_GET['id'] . '.jpeg');