我在这里使用file_exist获取了一个代码。它检查目录中是否存在.txt和.jpg文件。然后在警告框中显示这些内容。它适用于.txt,但不适用于.jpg。它显示图像源而不是图像本身。我在这做错了什么?你能给我一些帮助吗?非常感谢!这是我的代码。
的search.php
<?php
class Model
{
public function readexisting()
{
if(
file_exists($_SERVER['DOCUMENT_ROOT']."/Alchemy/events/folder-01/event-01.txt")
&&
file_exists($_SERVER['DOCUMENT_ROOT']."/Alchemy/events/folder-01/event-01.jpg")
)
{
$myPic = "/Alchemy/ajax/events/folder-01/event-01.jpg";
echo $myPic;
$myFile = ($_SERVER['DOCUMENT_ROOT'] . "/Alchemy/events/folder-01/event-01.txt");
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
echo $theData ;
}
else
{
echo "The file $myFile does not exist";
}
}
}
?>
答案 0 :(得分:4)
您需要应用header()
并告诉PHP
您正在渲染图片。
header("Content-type: image/jpeg");
OR取决于您要呈现的文件,请应用正确的标题。
答案 1 :(得分:1)
删除echo $myPic;
,然后在echo $theData;
header("Content-type: image/jpeg");
通常,您必须通知浏览器您要发送的数据类型。另请注意,header()命令应位于开始向浏览器发送任何数据之前。
此外,如果您将操作多种文件类型(即:png,jpg,gif),您应该在deader命令中更改MIME类型以映射相应的文件类型。
header("Content-type: image/gif"); // For gif images
header("Content-type: image/png"); // For png images
header("Content-type: image/jpeg"); // For jpg images
答案 2 :(得分:0)
对于图像(或任何其他内容),您需要发送内容类型标题,否则将无法显示。您可以通过首先获取mime-type here然后在回显之前添加标头来执行此操作。
header("Content-Type: ". $mimetype);
echo $theData;
$mimetype
是检索到的mime类型。