0

所以我遇到了这个问题,我想从不是 blob 的数据库中检索图像,我使用 image_link 并将它与我的文件夹链接"images/"

例如:

"images/Banner1_1.png" << id=1

"images/Banner1_2.png" << id=2

"images/Banner1_3.png" << id=3

所有这些链接都在我的数据库中。

所以我在这里要做的是,我有 html 代码,我希望使用指定的 ID 将图片显示在此页面上,例如:

索引.html

<img src="get.php?id=1" />
<img src="get.php?id=2" />
<img src="get.php?id=3" />

获取.php

<?php
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("aliquantum") or die(mysql_error()) ;
$id = $_GET['id'];

if(!isset($id) || empty($id) || !is_int($id)){
    die("Please select your image!");
}else{
$sql = "SELECT image_link FROM images WHERE id='".$id."'";
$url = mysql_query($sql);
$row = mysql_fetch_array($url);
$link= '.$row['image_link'].';
echo $link;
}
?>

但它没有显示任何内容,或者只是出现了损坏的图像图标。

4

5 回答 5

1

您在这里有多种选择:

1) 通过 get.php 流式传输图像,就像您现在尝试做的那样,但 get.php 返回的输出不正确。它应该返回:

$location='/location/to/image.gif';
$size = getimagesize($location);
$img_type = $size['mime'];
$data = file_get_contents($location);
$img_data = addslashes($data);
header("Content-type: ".$img_type);
print $img_data;

2) 使用 javascript 获取图像名称/路径,并将 img 标签的 src 设置为指向磁盘上的文件。

于 2013-09-15T10:52:43.007 回答
0

我不熟悉php,但我看到的是您正在返回图像本身

$link='<img src= "'.$row['image_link'].'">';

我猜你只需要返回网址。

$link='.$row['image_link'].';
于 2013-09-15T10:41:17.653 回答
0

您回显链接的方式是问题所在。它应该是

$link=$row['image_link'];

如果这不起作用,那么您还必须检查路径以确保仅使用数据库中的路径就可以获取文件。可能是您需要在您拥有的路径中添加一些内容

于 2013-09-15T11:04:57.373 回答
0

将 image_link 存储在数据库中是个坏主意,但既然您已经决定这样做,让我们来看看如何完成图像的显示。

第一的:(create any function for retrieve image and include in your index page.)

<?PHP
   function images($id)
    {   //please Secure your ID using int() or is_numeric ....

     $sql="select image_link from images where id=$id";

       $rs=mysql_query($sql) or die (mysql_error());

       $row =mysql_fetch_array($rs,MYSQL_BOTH);

     $data = $row[0];

   echo '<img src="images/'.$data.'">';
   }
?>

现在展示(after include function)

<?PHP
    echo images('1'); // your dynamic id
?>

现在这有效!

于 2013-09-15T12:29:15.907 回答
-2

您需要的不是真正的 PHP,它是 PHP 内部的一个库,称为 GD 库,它是一个非常广泛使用的库,用于创建验证码、保护电子邮件、缩放图像(有关如何执行这些操作的链接,请参见下文)

根据您的需要,它非常简单易用,这里有一个启动链接:

http://www.oxxus.net/tutorials/php/gd-library

http://php.about.com/od/gdlibrary/Graphics_GD_Library.htm

http://www.roseindia.net/tutorial/php/phpgd/

如何启用 GD 库:

http://www.webassist.com/tutorials/Enabling-the-GD-library-setting

如果您失败了,请先尝试一下,我会帮助您。

介绍:

http://thenewboston.org/watch.php?cat=11&number=156

保护电子邮件:

http://thenewboston.org/watch.php?cat=11&number=157

http://thenewboston.org/watch.php?cat=11&number=158

http://thenewboston.org/watch.php?cat=11&number=159

http://thenewboston.org/watch.php?cat=11&number=160

水印:

http://thenewboston.org/watch.php?cat=11&number=161

http://thenewboston.org/watch.php?cat=11&number=162

http://thenewboston.org/watch.php?cat=11&number=163

验证码:

http://thenewboston.org/watch.php?cat=11&number=163

http://thenewboston.org/watch.php?cat=11&number=165

http://thenewboston.org/watch.php?cat=11&number=166

http://thenewboston.org/watch.php?cat=11&number=167

缩小:

http://thenewboston.org/watch.php?cat=11&number=168

http://thenewboston.org/watch.php?cat=11&number=169

http://thenewboston.org/watch.php?cat=11&number=170

于 2013-09-15T11:22:40.873 回答