无法选择存储在数据库中的路径的图像

时间:2014-05-07 08:13:14

标签: php html mysqli ckeditor kcfinder

我建立了一个系统,用户通过textarea登录并通过CKEditor / KCFinder保存头像。它的工作原理我希望它能够工作。图像保存在文件夹中,并保存在数据库中的路径中。当我尝试在表格中显示图像时出现问题。我继续得到双html标签,我无法找到逃脱它们的方法,以便我得到我需要显示图像。

以下是脚本: linklabel是保存头像路径的行的名称

<?php
    require_once "../scripts/conector.php";

    if (!$_GET['pid']) {
    $pageid = '1';
    } else {
        $pageid = preg_replace('/[^0-9]/', "", $_GET['pid']); // filter everything but numbers for security
    }

    $sqlCommand = "SELECT id, linklabel FROM pages WHERE showing='1' ORDER BY id ASC"; 
    $query = mysqli_query($myConnection, $sqlCommand) or die('Error: ' . mysqli_error($myConnection)); 

    $listadeavatars = '';
    while ($row = mysqli_fetch_array($query)) { 
        $pid = $row["id"];
        $avatar = "<img src='" . $row["linklabel"] . "' height='160' width='160'/>";

        $listadeavatars .= '<tr>
                                <td>' . $avatar . '</td>
                                <td>' . $pid . '</td>
                            </tr>';
    } 
    mysqli_free_result($query);
?>

当我检查HTML时,这是HTML输出:

<img width="160" height="160" src="<img alt="" src="/nysida/admin/kcfinder/upload/images/avatar/avatar.jpg" style="height:160px; width:160px" />">

如何摆脱双重HTML才能显示图像?

更新

如果我只使用$avatar = $row["linklabel"];,那么结果将如下所示: enter image description here

1 个答案:

答案 0 :(得分:1)

似乎$row["linklabel"]已包含整个<img>标记,只需更改

$avatar = "<img src='" . $row["linklabel"] . "' height='160' width='160'/>";

$avatar = $row["linklabel"];

<强>更新

如果您在网页中看到了实际的标记,则还需要使用html_entity_decode()解码图片代码,如下所示:

$avatar = html_entity_decode($row["linklabel"]);