考虑到我的图像的链接存储在 MySQL 数据库中,如何通过 php 显示存储在文件夹中的图像
Posted
技术标签:
【中文标题】考虑到我的图像的链接存储在 MySQL 数据库中,如何通过 php 显示存储在文件夹中的图像【英文标题】:How to display through php an image stored in a folder considering that my image's link is stored in MySQL database 【发布时间】:2013-02-09 23:13:50 【问题描述】:作为一种好的做法,我只将图像的链接存储在我的数据库中,问题是:
我应该如何存储我的图片链接? (假设它在 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'>";
谢谢大家
【问题讨论】:
<img src="/path/in/server's/url/space/that/points/to/that/file" />
.
图片应该在浏览器可见的地方。然后使用上面的img标签。
感谢马克和亚历克斯!
【参考方案1】:
你只想存储相对路径,而不是绝对路径,作为链接到类似的东西
<img src="/var/www/vhosts/website.com/images/file.jpg">
会在任何真实网站上返回 404。通过相对路径 (/images/file.jpg) 将文件存储在数据库中,如果它们都在同一个目录中,则仅使用文件名。
或者,您可以学习 MongoDB,它允许您将文件实际存储在数据库本身中。
【讨论】:
这正是对我有用的方法,将 存储在“image”中。看到那个图像伙伴真是太棒了!非常感谢您的帮助 skrilled【参考方案2】:-
我强烈建议您改用 PDO。
使用图片文件夹的相对 URL,以备有一天需要移动它们。
这是一个例子。
// 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; ?>" />
【讨论】:
感谢亚当,这种方法似乎是一个很好的实践伙伴,我会尝试应用它,我首先尝试了解所有内容。我会查看其他 PDO 示例...非常感谢!【参考方案3】:使用PDO 进行php mysql 连接
发布 mysql 查询输出
【讨论】:
以上是关于考虑到我的图像的链接存储在 MySQL 数据库中,如何通过 php 显示存储在文件夹中的图像的主要内容,如果未能解决你的问题,请参考以下文章
使用 C++ Boost 或 STL 和 Mysql 存储和检索图像
PHP:在存储到 MySQL 数据库之前剥离链接(正则表达式剥离?)[重复]