存储在数据库中但不存在来自电子邮件附件的DOC时,PHP二进制文件(图像)损坏

时间:2014-03-30 06:03:55

标签: php mysql image email binary-data

问题是,当我收到电子邮件附件时,图像/二进制数据已损坏但是当我将文件上传到相同的数据库表时,它们没有损坏。

左侧是正常运行的图像(重命名为PHP并复制二进制数据时)。右侧是图像损坏后的图像。我想我会添加图片,因为有人可能会看到它并且只知道这里发生了什么。下面的PHP代码......

Left side working image, right side corrupted image.

所以我有其他文件,包括存储在数据库中的图像,它们工作得很好......

$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']);

0 个答案:

没有答案