PHP从链接显示图像

时间:2014-03-27 21:58:56

标签: php

我试图通过链接点击显示我的图像。但是,当我点击链接时,它会找到url链接中显示的图像ID,但不会显示任何图像。你能帮忙吗?

 <?php

//sets up thisPage          
 $pageSize=10;
  if (isset($_POST["thisPage"])) $thisPage=$_POST["thisPage"];
   else $thisPage=1;



 //selects all distinct expenses that have been uploaded
 $dbQuery="SELECT * FROM images WHERE user_id = '$userID' ";

  $dbResult=mysqli_query($db_connection, $dbQuery) or die(mysqli_error($db_connection));
  echo "<table cellspacing=\"5\" class=\"recordsTableBG\"> <thead 
  class=\"recordsTableHeader\">";
  echo '<tr>     <th>ID</th><th>Amount</th><th>Description</th><th>Filename</th>
   <th>Project ID</th><th>Status</th></tr></thead>';
    echo '<tr class="alternateRowColor">';

   '<tr>';
    while ($dbRow=mysqli_fetch_array($dbResult)){

    echo "<img src = 'uploaded/$image' width = '200' height = '200'>";

  // display row with expense
  echo '<td>'. $dbRow['id'] .'</td>';
 echo '<td>'. $dbRow['user_id']. '</td>';
     echo '<td><a href='.$_SERVER['PHP_SELF'].'?imageid='.$dbRow['id'].'>
Click here to view image</a></td>';
    }
 echo "</table>";
 echo "</form>";



   ?>



    <!-- add submitt button
            close form  -->

       </div>

1 个答案:

答案 0 :(得分:0)

这里有两种混合方法,这就是混乱所在。

首先,注意你的

<img src='uploaded/$image' width = '200' height = '200'>

浏览器会看到类似

的内容
<img src='uploaded/picture_of_cat.jpg' width='200' height='200'>

并渲染一张200px乘200px的猫图像。我假设你的缩略图。 (顺便说一句,我注意到它并未包含在<td></td>中,即使它位于表格行中。)

在表格的另一部分,你有

<a href='.$_SERVER['PHP_SELF'].'?imageid='.$dbRow['id'].'>Click here to view image</a>

将呈现为类似

的内容
<a href='http://example.com/index.php?imageid=1234'>Click here to view image</a>

当用户点击该链接时,它会向服务器发出GET请求imageid等于1234.服务器将使用该服务器{{1} }}?在您发布的代码中,没有。

您有两种选择:

  1. 如果您想保持链接不变,则必须编写一些代码,这些代码将采用imageid值,找到合适的图像,然后将其返回给浏览器< strong>作为图像数据 - 这意味着设置适当的标题并将数据作为二进制数据发回。

  2. 更简单的方法是将链接中的URL替换为imageid标记中的URL - 当用户点击它时,服务器将只返回图像