我正在尝试在HTML中的<img>
标记中加载图片。
我的图像文件夹与根文件夹位于同一文件夹中,这意味着我需要上一个文件夹才能访问图像文件夹。
我环顾互联网并发现该方法在图片的src属性中使用GET请求,但遗憾的是没有成功。
文件夹结构:
img >
somefile.png
foo.png
bar.png
html >
index.php
imageRequest.php
//other root files
我不能使用以下内容:<img src="../img/somefile.png">
因为它指向不存在的东西(呃!)。所以我试图使用GET请求。
我的HTML
<div>
<img src="imageRequest.php?requested=somefile.png">
</div>
我的PHP(imageRequest.php)
$fileName = $_GET['requested'];
fetchImage();
function fetchImage(){
global $fileName;
if(!isset($fileName)) return;
$filePath = dirname($_SERVER['DOCUMENT_ROOT'])."/img/".$fileName;
if(file_exists($filePath)){
readfile($filePath);
}
}
TL; DR:使用<img>
标记内根文件夹外的文件夹中的图片。
答案 0 :(得分:3)
使用PHP作为base64图像获取该图像,并输出该内容以及正确的标题:
[imageRequest.php?requested=some_file.png]
$imagesDir = __DIR__.'/../';
$content = file_get_contents($imagesDir.$_GET['requested']);
$content = base64_encode($content);
$data = "data:image/png;base64,{$content}";
header('Content-Type: image/png');
echo base64_decode($data);`