保存5个附件,然后检索它们

时间:2012-04-10 13:53:56

标签: php file-upload upload phpmyadmin

我被要求将多个附件(最多5个)保存到数据库中,然后将它们重新扫描到php中的另一个页面。 我已经用google搜索了一周以上,并且只找到了可以将一个文件保存到数据库然后将它们重新检索的教程。

我的情况是我正在发送带有这些多个附件的电子邮件,电子邮件保存在表格“电子邮件”中,现在我希望附件也保存在那里,在另一列中,因此很容易检索它们,在一个php页面。

在这种情况下请任何人帮助我。 为我提供适当的指导。 我使用phpmyadmin保存所有说的话

1 个答案:

答案 0 :(得分:1)

这是您想要的解决方案: 将5个文件上传到服务器后,将其读入内存并base64_encode

E.g。

$files = array(
    'file1' => base64_encode(file_get_contents('/path/to/file1')),
    'file2' => base64_encode(file_get_contents('/path/to/file2')),
    'file3' => base64_encode(file_get_contents('/path/to/file3')),
    'file4' => base64_encode(file_get_contents('/path/to/file4')),
    'file5' => base64_encode(file_get_contents('/path/to/file5')),
);

// serialize
$filesData = serialize($files);    
// put $filesData in db column

// when your retrieve it later from database, unserialize and use array
$files = unserialize($columnValue);

由于您有文件内存并且它们是base64编码的,因此您可以使用Content-Transfer-Encoding: base64添加附件。