问题是,当我收到电子邮件附件时,图像/二进制数据已损坏但是当我将文件上传到相同的数据库表时,它们没有损坏。
左侧是正常运行的图像(重命名为PHP并复制二进制数据时)。右侧是图像损坏后的图像。我想我会添加图片,因为有人可能会看到它并且只知道这里发生了什么。下面的PHP代码......
所以我有其他文件,包括存储在数据库中的图像,它们工作得很好......
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
//INSERT INTO table (data), ($data);//etc
然而,错误发生在PHP代码中,我用它来清理电子邮件,然后将它们与附加文件一起存储在数据库中。我知道附加的文件正在PHP正确定位所以它只是 HOW 我存储它似乎是问题。 MySQL中的数据列是longblob
并且在发送之前上传图像工作正常,但是当我 RECEIVE 发送电子邮件时,处理收到的附件的代码会中断(使用相同的数据库表)。 / p>
$data = mysqli_real_escape_string($connection,base64_decode($email['attachments'][$t]['attachment']));
$data = mysqli_real_escape_string($connection,$email['attachments'][$t]['attachment']);
$data = base64_decode($email['attachments'][$t]['attachment']);
$data = mysql_real_escape_string(base64_decode($email['attachments'][$t]['attachment']));
$data = addslashes($email['attachments'][$t]['attachment']);