PHP从服务器检索图片

时间:2014-04-25 16:53:59

标签: php mysql

所以这是设置:

我在本地主机环境上运行(所有权限都很好)。我正在处理的项目必须从服务器检索照片并将其输出到表格中。我这样做是通过在mysql数据库上保存图像路径(我知道mysql已被弃用...)并通过PHP输出它们,如此,

    <div class='images'>
    <?php
    $error = "";
    $query = "SELECT imagepath FROM stories "; //replace image path with user
    if (mysql_num_rows(queryMysql($query)) == 0) $error='no images found';
    else {
        $query2 = "SELECT imagepath FROM stories "; //replace image path with user
        $result = queryMysql($query2); 
        $array = array(); 
        echo "<table id='imagebox'>
        <tr>";
        while ($rows = mysql_fetch_array($result, MYSQL_NUM)) {
            $array[] = $rows; 
        }
        for ($j = 0; $j < count($array); $j++ ) {
            echo "<td><img id='photo' src='$array[$j]' height='100' width='100'></td>"; 
            if (($j %3) == 0 ){
                echo "</tr><tr>"; 
            }
        }
        echo "</table>";
    }
    ?>

简而言之,输出有效。我得到了我想要的桌子,但是图像没有显示(我看到了破损的图像符号所在的框)。这不是存储链接的问题,因为我已经测试过了。感谢帮助。 (PS忽略代码中的注释,它们与我的困境无关)。

3 个答案:

答案 0 :(得分:0)

您的问题是: 1.图像的网址不在数据库中 2.图像数据在数据库中,而不是图像路径

答案 1 :(得分:0)

我的猜测是在服务器上存储相对链接而不是绝对链接,即/image1.jpg而不是www.yourserver.com/image1.jpg。

答案 2 :(得分:0)

你可以试试这个:

数据库imagepath中的

juste文件的名称

<div class='images'>
<?php
$error = "";
$query = "SELECT imagepath FROM stories "; //replace image path with user
if (mysql_num_rows(queryMysql($query)) == 0) $error='no images found';
else {
    $query2 = "SELECT imagepath FROM stories "; //replace image path with user
    $result = queryMysql($query2); 
    $array = array(); 
    echo "<table id='imagebox'>
    <tr>";
    while ($rows = mysql_fetch_array($result, MYSQL_NUM)) {
        $array[] = $rows; 
    }
    for ($j = 0; $j < count($array); $j++ ) {
        echo "<td><img id='photo' src='./images/$array[$j]' height='100' width='100'></td>"; 
        if (($j %3) == 0 ){
            echo "</tr><tr>"; 
        }
    }
    echo "</table>";
}
?>