Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php htaccess会破坏我的图像吗?_Php_.htaccess - Fatal编程技术网

Php htaccess会破坏我的图像吗?

Php 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代码: <

我正在尝试重写一个PHP文件,该文件在浏览器中将图像动态显示为.jpeg格式,使其看起来像一个图像路径

我的问题是,在引入重写规则后,图像会中断。当我检查源代码时,图像路径是正确的,但我看到的只是“断开的图像图标”

非常感谢您的帮助

这是.htaccess

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');