php - 将 PNG 图像保存到 mysql 数据库时出现问题

标签 php mysql database image

我无法使用此脚本存储 .png 图像。它存储.jpeg图像,但未成功存储.png。问题是 .png 仅存储了图片的一半。数据库中的图像字段是blob类型。

当在我的本地 xampp 安装上进行测试时,可以说它存储了图片的 90%,但是当我在 Hostgator 托管域上尝试它时,它可以存储了图片的 45%

不要认为图像大于数据库中的图像列,因为我存储了更大的 .jpeg 图像...

    static function save($_FILES) {
    $link = mysql_connect("localhost",DBUSER,DBPASS) or die("<b>Error:</b><br>".mysql_error());
    mysql_select_db(DBNAME,$link) or die("Cant select db"); 

$tmpName = $_FILES['image']['tmp_name'];
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);



    $sql = "INSERT INTO image
  (type, image, size, name)
  VALUES ('" .  mysql_real_escape_string($_FILES['image']['type']) . "', '" . $data . "', '" . $_FILES['image']['size'] . "', '" . mysql_real_escape_string($_FILES['image']['name']) . "')";       

mysql_query($sql);          
}

最佳答案

更改此行

$fp = fopen($tmpName, 'r');

$fp = fopen($tmpName, 'rb');

或者尝试使用

file_get_contents()

并检查。

关于php - 将 PNG 图像保存到 mysql 数据库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30900673/

相关文章:

php - 当其他类使用 php 中的类中的常量变量时​​,什么时候将其加载到 RAM 中?

php - Laravel 数据库播种器类

php - 在 UPDATE 查询中绑定(bind)参数时出现 PDO 异常

php - Mysql SELECT from T1 WHERE ID T2 中不存在于 T3 中

database - Firebase 设置方法不起作用

Mysql View (最近六个月的数据)

php - 将 mysql 调用/发布到表中

android - Python 失去 Mysql 服务器连接

mysql - order by position 子句如何在 mysql 中工作

android - 在 firebase android 中检索数据时卡住