我想使用php在sql中创建一个表,其中包含图像,设置图像的内容,然后我想在html中获取这个表。
有人知道这是怎么回事吗?还是有人在网上看到了这个例子?
请帮帮忙。非常感谢。
发布于 2011-12-23 18:14:44
这里是一篇文章,它将告诉你所有你想知道的关于在blob列http://www.phpriot.com/articles/images-in-mysql中存储图像和类似的东西
发布于 2011-12-23 19:59:47
好的,我知道你想要上传一个图片文件到db中的表格中,通过你的web应用程序,使用php,然后你又想在你的web应用程序(html页面)中显示相同的图片。
我将使用simple PHP5.3展示MySQL的示例
创建一个示例表,名为"photo_table“:
CREATE TABLE photo_table (photo_name_col VARCHAR(30),photo_img_col LONGBLOB);现在,为了通过您的php页面上传图像文件,在您的html代码中使用以下代码:
<form name="photoForm" method="post" ENCTYPE="multipart/form-data" action="../insertImage.php" >
<input type="text" name="uploadFileName">
<!--commenting as I was not able to publish this note<input type="file" name="uploadFile" />-->
<!--Some other input fields if you want-->
<input type="submit" value="Submit"/>
</form>现在,表单"photoForm“提交后,表单值被传递给"insertImage.php",在那里我们将有以下代码将照片及其名称上传到我们的MySQL数据库中的一个表中:
<?php
$con=mysql_connect("ipAddressOfDB","username","password");
if(!$con){
die('Could not connect:'.mysql_error());
}
mysql_select_db("db_name",$con);
$image = $_FILES['uploadfile']['tmp_name'];
$imageName = $_POST['uploadFileName'];
$fp = fopen($image, 'r');
$content = fread($fp, filesize($image));
$content = addslashes($content);
fclose($fp);
$sql="insert into photo_table values('$imageName','$content')";
mysql_query($sql,$con);
?>为了将表格中的照片显示到您的html页面中,我使用以下方法。从db获取镜像并将其复制到服务器中的临时位置。
<?php
$con=mysql_connect("ipAddressOfDB","username","password");
mysql_select_db("db_name",$con);
$sql="select * from photo_table where photo_name_col ='$uploadFileName'";
$result=mysql_query($sql,$con);
if($row=mysql_fetch_array($result)){
$fileName="generated/".$uploadFileName;
file_put_contents($fileName, $row['photo']);
}
echo "<img src='" . $fileName . "' />"; <!--this will display the image-->
?>https://stackoverflow.com/questions/8614764
复制相似问题