php上传二进制图片

html:

 

<form action=”insertPic.php” method=”post” enctype=”multipart/form-data” name=”mainForm” id=”mainForm”>
<input type=”file” name=”myFile” />
<input type=”submit” name=”Submit” value=”Submit”/>
</form>

将图片保存到数据库:

<?php
//由于上传过来的图片被保存在一个临时文件中,所以
//我们仅需要读取该文件就可以获取传过来的图片
$fp = fopen($_FILES[“myFile”][“tmp_name”],”rb”);
$buf = addslashes(fread($fp,$_FILES[“myFile”][“size”])); 

//创建一个PDO对象
$dbh = new PDO(“mysql:host=localhost;port=
3306;dbname=test”, “root”, “123456”);
//执行插入操作并将结果保存在一个变量中
$result = $dbh->query(“INSERT INTO img (images) VALUES (‘$buf’)”);
//获取影响的行数
if ($result->rowCount() >0) {
    echo(“数据已插入。”);
} else {
    echo(“不能执行插入操作。”);
}
//显式的关闭PDO连接
$dbh = NULL;
?>

显示图片:(show.php)

<?php
$conn=@mysql_connect(“localhost”,”root”,”123456“) or die(“服务器连接错误!”); //链接数据库
@mysql_select_db(“test”,$conn) or die(“未发现数据库!”);
$query=”select * from img where Id=”.$_GET[‘id’];
$result=mysql_query($query);

$num=mysql_num_rows($result);

$data = mysql_result($result,0,”images”);
header(“Content-type: image/” . $num[‘imgType’]);
echo $data;
?>

或者

<img src=”show.php?id=5″ />

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注