答案 0 :(得分:0)
看起来丑陋的文字不是垃圾文件,而是让*.doc
文件成为DOC文件(即格式化)。您无法使用PHP回显该文件。
您可以使用一些PHP文档查看器库显示它,或者如果您可以在线找到一些API以将DOC转换为TXT。
您也可以让用户下载它。使用file_put_content()
将该附件存储到doc文件中,如下所示:
if(file_put_content("attachment.doc", $email['attachment'])){
header("Location: attachment.doc");
}
答案 1 :(得分:0)
二进制数据表示* .doc文件。如果你真的想从中提取纯文本,你可以做一些模糊逻辑,并提取不包含任何低ASCII码字符的行(CR和LF除外)。
假设您的数据结构位于 $ data 中,您可以这样做:
foreach($data as $element) {
$element["attachment"] = preg_replace(
"/^.*?[\x01-\x09,\x0B,\x0C,\x0E-\x1F].*?$\R?/m",
"", $element["attachment"]);
}
同样,这只是"模糊"逻辑,所以你仍然可能得到一些没有删除的无意义的文本。