我有一个应用程序,用户可以上传图像作为他们的头像。设置方式如下。有一个名为“Uploads”的文件夹,当用户选择一个图像时,它会上传并存储在那里并重命名为用户的用户名,然后数据库中的引用将引用该图像,因此字符串在数据库看起来像这样
“../ uploads / username.jpg”
我正在使用PHP的rawurlencode();
函数来处理带有空格的用户名,例如“用户管理员”,所以当这个用户上传图片时,它会像这样存储在数据库中 ../ uploads / user%20admin.jpg 现在,当我想显示那个图像时,我正在使用rawurldecode();
功能,但它只是不能正常工作,因为它以这种方式解码“上传/用户“admin.jpg
这是我的PHP来显示图像。
<?php
echo '<td class="col-md-3">
<input type="checkbox" name="check_list[]" value="' .$row2['buss_id'].'">'
. '<img src=' . rawurldecode($row2['pic']) .'> '. $row2['username']; ?> </td>
更清楚的是,这是在浏览器中解码字符串的方式
<img src="../uploads/user" admin.jpg>
感谢。
答案 0 :(得分:0)
你缺少引号。这部分代码:
'<img src=' . rawurldecode($row2['pic']) .'> '
应该是这样的:
'<img src="' . rawurldecode($row2['pic']) .'"> '
您当前代码的问题在于它会发出如下内容:
<img src=../uploads/user admin>
浏览器将空格视为属性之间的分隔符,因此它以这种方式解释:
<img src="../uploads/user" admin>