base64_encode



  

I had the need to send a Multi-part mime message. I spent a lot oftime trying to correctly receive it.  I finallyworked out what I needed to do, and rather than keep it to myself -thought I would share it.

I needed to send a text message and an attached file via emailrather than providing a direct download link to a file and this ismy solution.

The main parts I had problem with was to correctly format theboundary in the header - then also in the body of themessage.

<?php
     
$tempfile = '/full/path/to/file.zip';
$thisfile ='file.zip';

// Encode the file ready tosend it off
$handle= fopen($tempfile,'rb');
$file_content =fread($handle,filesize($tempfile));
fclose($handle);
$encoded =chunk_split(base64_encode($file_content));

// create the email and sendit off

$subject = "File you requestedfrom RRWH.com";
$from= "scripts@rrwh.com";
$headers= 'MIME-Version: 1.0' . "\n";
$headers.= 'Content-Type: multipart/mixed;
  boundary="----=_NextPart_001_0011_1234ABCD.4321FDAC"'. "\n";

$message = '

This is a multi-part message in MIME format.

------=_NextPart_001_0011_1234ABCD.4321FDAC
Content-Type: text/plain;
      charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hello

We have attached for you the PHP script that you requested fromhttp://rrwh.com/scripts.php
as a zip file.

Regards

------=_NextPart_001_0011_1234ABCD.4321FDAC
Content-Type: application/octet-stream; name="';

$message .= "$thisfile";
$message.= '"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="';
$message .="$thisfile";
$message.= '"

';
$message .="$encoded";
$message.= '

------=_NextPart_001_0011_1234ABCD.4321FDAC--

';

// now send theemail
mail($email,$subject, $message,$headers, "-f$from");

?>



<?
//get the base64 encodedimage
$handle= fopen($tempfile,'rb');
$file_content =fread($handle,filesize($tempfile));
fclose($handle);
$encoded =chunk_split(base64_encode($file_content));

//then echo to browseras:

echo '<imgsrc="data:image/png;base64,'.$encoded.'">';
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值