我想对网站隐藏图像路径。为此,我首先这样做:
<?php
// get image path
$path = 'images/profiles/uploads/' . $list['thumbnail'];
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
?>
但这很慢,所以我尝试这样实现,但代码不工作:
download.php
:
function setImgDownload($imagePath) {
$image = imagecreatefromjpeg($imagePath);
header('Content-Type: image/jpeg');
imagejpeg($image);
}
mypage.php
:
<?php include('download.php'); ?>
<img src="<?php setImgDownload('images/Chrysanthemum.jpg') ?>" width="300"/>
如果我将函数和调用函数放在同一个页面上,它就可以工作了:
function setImgDownload($imagePath) {
$image = imagecreatefromjpeg($imagePath);
header('Content-Type: image/jpeg');
imagejpeg($image);
}
setImgDownload('images/Chrysanthemum.jpg');
如何将函数保留在单独的页面中?
请您参考如下方法:
尝试将 mypage.php 更改为
<?php
include('download.php');
echo "<img src='".setImgDownload('images/Chrysanthemum.jpg')."' width='300'/>"; // calling function inside php
?>
在这里,不是在 php 外部创建 HTML 元素,而是使用 echo 将其放入 php 内部,然后在调用 php 函数时转义。这应该可以满足您的需求。