php将图片以二进制存到mysql中的方法
程序员文章站
2024-02-02 20:36:28
...
很奇怪,直接用file_get_contents存入数据库成功后,结果读取的时候图片不能显示,后来解决方法是什么!!是用了下base64编码。。。不多说直接上图。 1.这是upload.php ? php include ('./conn.php' ); if ( $_POST ['submit' ]) { if ( $_FILES ['image']['
很奇怪,直接用file_get_contents存入数据库成功后,结果读取的时候图片不能显示,后来解决方法是什么!!是用了下base64编码。。。不多说直接上图。
1.这是upload.php
php include('./conn.php'); if ($_POST['submit']) { if ($_FILES['image']['size']) { $names = $_FILES['image']['name']; $arr = explode('.', $names); $name = $arr[0]; //图片名称 $date = date('Y-m-d H:i:s'); //上传日期 $fp = fopen($_FILES['image']['tmp_name'], 'rb'); $type = $_FILES['image']['type']; $file_uploads = file_get_contents($_FILES['image']['tmp_name']); $file_uploads = base64_encode($file_uploads); if (!$fp) { showInfo('读取图片失败!'); } else { if ($image) { $q = "insert into image (name, pic, type, date) values ('$name','$file_uploads','$type','$date')"; $result = mysql_query($q); if ($result) { showInfo('上传成功!'); } else { showInfo('上传失败!'); } mysql_close($link); } else { showInfo('请选择要上传的文件!'); } } } else { showInfo('请选择要上传的文件!'); } } function showInfo($info) { echo ""; echo ""; echo ""; echo "" . $info . "……"; echo ""; } ?>
2.image.php用于从数据库中读取图片
php include('./conn.php'); $id = $_GET['id']; $sql = "select * from image where id='$id'"; $result = mysql_query($sql); if (!$result) die("读取图片失败!"); $num = mysql_num_rows($result); if ($num )
上一篇: QT中如何驱动链接数据库MYSql