欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php将图片以二进制存到mysql中的方法

程序员文章站 2022-05-01 12:18:20
...

很奇怪,直接用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 )