如何使用PHP从源代码隐藏图像路径

use*_*298 2 php

我想隐藏网站的图片路径.为此,我首先这样做:

<?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);
?>
Run Code Online (Sandbox Code Playgroud)

但这很慢,所以我尝试这样实现,但代码不起作用:

download.php:

function setImgDownload($imagePath) {           
    $image = imagecreatefromjpeg($imagePath);
    header('Content-Type: image/jpeg');
    imagejpeg($image);
}
Run Code Online (Sandbox Code Playgroud)

mypage.php:

<?php include('download.php'); ?>
<img src="<?php setImgDownload('images/Chrysanthemum.jpg') ?>" width="300"/>
Run Code Online (Sandbox Code Playgroud)

如果我将函数和调用函数放在同一页面上它正在工作:

function setImgDownload($imagePath) {
    $image = imagecreatefromjpeg($imagePath);
    header('Content-Type: image/jpeg');
    imagejpeg($image);
}

setImgDownload('images/Chrysanthemum.jpg');
Run Code Online (Sandbox Code Playgroud)

如何在单独的页面中保持功能?

Ven*_*hna 7

尝试将mypage.php更改为

<?php
   include('download.php');
   echo "<img src='".setImgDownload('images/Chrysanthemum.jpg')."' width='300'/>"; // calling function inside php
?>
Run Code Online (Sandbox Code Playgroud)

在这里,改为在php之外创建HTML元素,使用echo将其放入php中,并在调用php函数时转义.这应该给你你需要的东西.