首页 > 解决方案 > 在-Tag中显示来自基本授权目录的图像

问题描述

我正在开发一个基本的图像上传系统。到目前为止,我正在使用来自 verot 的 class_upload.php,效果很好。

我已经基本授权保护了图像现在被保护的目录。

但是我想在上传页面上显示最近上传的图片。

这应该很简单,我认为使用此代码

 if ($imageFileType == "jpg") {
     echo "<img src=https://USER:PASS@mywebsite.de/uploads/" . $bildname . ".jpg> </img>"; 
 } elseif ($imageFileType == "jpeg"){
     echo "<img src=https://USER:PASS@mywebsite.de/uploads/" . $bildname . ".jpeg> </img>"; 
 } elseif ($imageFileType == "png") {
     echo "<img src=https://USER:PASS@mywebsite.de/uploads/" . $bildname . ".png> </img>";
 } elseif ($imageFileType == "gif") {
     echo "<img src=https://USER:PASS@mywebsite.de/uploads/" . $bildname . ".gif> </img>";  
}

其中 $bildname 显然是新文件的(正确)名称。但是,当我上传图像时,它仅在无法显示正确图像时才显示基本的“图像图标”。

直接在网络浏览器上使用链接“ https://USER:PASS@mywebsite.de/ .....”打开图像。

任何人都可以推荐一个修复或其他解决我的问题的方法吗?

标签: phphtmlimage

解决方案


你的所作所为不安全!但是根据有限的信息并尝试您的代码,我能找到的唯一问题是您没有在 src=''; 周围呼应子引号;

试试这个它可能会有所帮助,如果它确实可以正常工作的原因是因为它不是回显有效的html,而是将一个损坏的html序列作为字符串而不是html标签回显。

如果您可以提供更多信息(它是否与任何数据或其他错误信息相呼应)这将非常有用。

尝试将每一行更改为如下所示:

if ($imageFileType == "jpg") {
 echo "<img src='https://USER:PASS@mywebsite.de/uploads/" . $bildname . ".jpg'> </img>";} 

你输出的数据应该是这样的:

<img src='https://USER:PASS@mywebsite.de/uploads/file.gif'> </img>

您应该做的是将该图像作为blob /缓存保存到数据库中并从那里调用,或者您可以将其保存到只有服务器可以访问的普通目录并从该目录回显图像文件。


推荐阅读