已有40人关注
无法把图片以二进制形式上传文件到数据库
发表在PHP图书答疑 2024-10-18 悬赏:10 学分 《PHP开发实战1200例(第1卷)》第4章 文件操作 285页-286页
是否精华
版块置顶:

已在mysql数据表中设了“mediumblob”的字段,可以通过“phpmyadmin”把图片导入数据库,在PHP可正常显示该图片。


环境:PHP8.0.26,mysql8.0。是不是PHP版本太高了。


问题:无法把图片以二进制形式上传文件到数据库

$cover = $_FILES["cover"]['name'];        //获取表单中提交的图片

$cover=iconv("utf-8","gb2312",$cover);      //设置字符串的编码格式

$path = "uploadfiles/".$cover;

@move_uploaded_file($_FILES["cover"]["tmp_name"],$path);

$fp = fopen($path, "rb");         //以二进制形式打开图片

$image = addslashes( @fread($fp, filesize($path)));        //读取二进制的数据


使用该命令或函数,




分享到:
精彩评论 1
小禾斗
学分:7351 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
29天前
沙发

参考一下下面代码:

<?php // 检查是否有文件上传 if (isset($_FILES['fileToUpload'])) {    $errors = array();    $file_name = $_FILES['fileToUpload']['name'];    $file_tmp = $_FILES['fileToUpload']['tmp_name'];    $file_type = $_FILES['fileToUpload']['type'];    $file_size = $_FILES['fileToUpload']['size'];    // 验证文件类型    $allowed_types = array('image/jpeg', 'image/png', 'image/gif');    if (!in_array($file_type, $allowed_types)) {        $errors[] = "File type not allowed.";    }    // 验证文件大小    if ($file_size > 2097152) { // 2MB        $errors[] = "File size exceeds the limit.";    }    // 如果没有错误,则尝试将文件保存到数据库    if (empty($errors)) {        try {            // 打开临时文件并读取其内容            $fp = fopen($file_tmp, 'r');            $image_data = fread($fp, filesize($file_tmp));            fclose($fp);            // 连接数据库            $pdo = new PDO('mysql:host=your_host;dbname=your_db;charset=utf8', 'username', 'password');            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);            // 准备SQL语句            $stmt = $pdo->prepare("INSERT INTO images (image_data, image_type) VALUES (:image_data, :image_type)");            $stmt->bindParam(':image_data', $image_data, PDO::PARAM_LOB);            $stmt->bindParam(':image_type', $file_type);            // 执行查询            $stmt->execute();            echo "Image uploaded successfully.";        } catch (PDOException $e) {            echo "Error: " . $e->getMessage();        }    } else {        foreach ($errors as $error) {            echo $error . "<br>";        }    } } ?>

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照