在设置了基路径的情况下,使用PHP从根目录外显示HTML中的图像

acruukt9  于 2022-11-28  发布在  PHP
关注(0)|答案(1)|浏览(134)

在这里,我开发了一个应用程序,在HTML头文件中设置了basepath,在我的例子中,它是localhost/project/。因此,所有链接都将获得basepath。
现在出现的问题是,我想在网页上显示图片。图片是私有的,因此保存在public_html(在Ubuntu lampp上只是HTML)文件夹中。因此,我无法使用basepath访问这些图片。
现在,我该如何在网页上显示图片呢?因为,当我给予图片源的相对路径时,它无法到达所需目录的上一级。
对此有什么解决办法吗?
如果我删除了basepath,我需要更新项目中的数百个链接。
我试过-

$location = dirname($_SERVER['DOCUMENT_ROOT']); //it will give me the www folder on ubuntu
$image    = $location . '/profilePics/' . $retailerDetail['profilePic'];

如果没有设置基路径,或许还可以,但现在,还有别的选择吗?

atmip9wb

atmip9wb1#

我假设脚本知道图像的位置:-),否则需要派生。
如果它相对于您正在访问图像的脚本,则只需使用该脚本的相对路径。
一旦您有了脚本的路径,只需将图像读入一个编码的字符串。
在下面的示例中,映像可以在私有目录中。只要脚本可以访问映像,它就可以工作:

$privatePath = __DIR__ . "/../../../../home/user"
$headerImage = base64_encode(file_get_contents($privatePath . "/imageFile.png"));

$imgTag = "<img src=\"data:image/jpeg;base64," . $headerImage . "\" alt=\"altText\" title=\"title\" align=\"left\">";

相关问题