考虑到我的图像链接存储在MySQL数据库中,如何通过php显示存储在文件夹中的图像

时间:2013-02-24 20:32:44

标签: php mysql database image

作为良好的做法,我只在我的数据库中存储我的图像链接,问题是:

我应该如何存储图片的链接? (让我们说它在c:)

C:?//image.jpg

我应该使用哪种和平的PHP代码来显示该图像? 我只显示路径,我该怎么做才能显示图像?

我可以使用这个:

$query = "SELECT ImageURL from WhateverTable";

$result = mysql_query($query) or die(mysql_error());

$Image = mysql_fetch_row($result);

echo "<img src='$Image[0]' alt='This is an image'>";

谢谢大家

3 个答案:

答案 0 :(得分:3)

您只想将相对路径而不是绝对路径存储为链接到类似

的内容
 <img src="/var/www/vhosts/website.com/images/file.jpg"> 

会在任何真实网站上返回404。通过相对路径(/images/file.jpg)将文件存储在数据库中,如果它们都在同一目录中,则只存储文件名。

或者,您可以学习MongoDB,它允许您实际将文件存储在数据库中。

答案 1 :(得分:2)

  1. 我强烈建议你改用PDO。
  2. 使用图片文件夹的相对网址,以防有一天需要移动它们。
  3. 这是一个例子。

    // relative to your public webroot
    $publicImageUrl = '/images/in/here';
    
    // Pull up some record, maybe of a product 
    $select = 'SELECT imageFilename FROM products WHERE id = 2332';
    $results = mysql_query($select);
    if(!$results) {
        // issue with query. deal with it here
    } else {
        if( mysql_num_rows($result) ) {
            // record not found. deal with it here
        }
    
        $row = mysql_fetch_array($result);
    
        $imageSrc = $publicImageUrl  . '/' . $row['imageFilename'];
    }
    

    然后您的HTML将如下

    <img src="<?php echo $imageSrc; ?>" />
    

答案 2 :(得分:0)

  1. 使用PDO for php&lt; - &gt; mysql连接

  2. 发布mysql查询输出