当前位置: 首页>>代码示例>>PHP>>正文


PHP Am_HttpRequest::addUpload方法代码示例

本文整理汇总了PHP中Am_HttpRequest::addUpload方法的典型用法代码示例。如果您正苦于以下问题:PHP Am_HttpRequest::addUpload方法的具体用法?PHP Am_HttpRequest::addUpload怎么用?PHP Am_HttpRequest::addUpload使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Am_HttpRequest的用法示例。


在下文中一共展示了Am_HttpRequest::addUpload方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _sendMail

 protected function _sendMail()
 {
     $request = new Am_HttpRequest(self::API_ENDPOINT, Am_HttpRequest::METHOD_POST);
     $params = array();
     $params['api_user'] = $this->_api_user;
     $params['api_key'] = $this->_api_key;
     $part = new Zend_Mail_Part(array('raw' => $this->header . Zend_Mime::LINEEND . $this->body));
     $this->_extractHeaderToParams($part, 'to', $params);
     $this->_extractHeaderToParams($part, 'cc', $params);
     $this->_extractHeaderToParams($part, 'bcc', $params);
     $this->_extractHeaderToParams($part, 'from', $params, false);
     $this->_extractHeaderToParams($part, 'reply-to', $params, false);
     $subject = $part->getHeader('subject');
     if (strpos($subject, '=?') === 0) {
         $subject = mb_decode_mimeheader($subject);
     }
     $params['subject'] = $subject;
     $canHasAttacments = false;
     //message
     list($type) = explode(";", $part->getHeader('content-type'));
     if ($type == 'multipart/alternative') {
         $msgPart = $part->getPart(2);
     } else {
         $msgPart = $part->isMultipart() ? $part->getPart(1) : $part;
         if ($msgPart->isMultipart()) {
             $msgPart = $msgPart->getPart(2);
             //html part
         }
         $canHasAttacments = true;
     }
     list($type) = explode(";", $msgPart->getHeader('content-type'));
     $encoding = $msgPart->getHeader('content-transfer-encoding');
     $content = $msgPart->getContent();
     if ($encoding && $encoding == 'quoted-printable') {
         $content = quoted_printable_decode($content);
     } else {
         $content = base64_decode($content);
     }
     switch ($type) {
         case 'text/plain':
             $params['text'] = $content;
             break;
         case 'text/html':
             $params['html'] = $content;
             break;
         default:
             throw new Zend_Mail_Transport_Exception("SendGrid API: unknown content-type: " . $type);
     }
     //attachments
     $handlers = array();
     if ($canHasAttacments) {
         if ($part->isMultipart()) {
             $params['files'] = array();
             for ($i = 2; $i <= $part->countParts(); $i++) {
                 $attPart = $part->getPart($i);
                 $encoding = $attPart->getHeader('content-transfer-encoding');
                 $disposition = $attPart->getHeader('content-disposition');
                 preg_match('/filename="(.*)"/', $disposition, $m);
                 $filename = $m[1];
                 $content = $attPart->getContent();
                 if ($encoding && $encoding == 'quoted-printable') {
                     $content = quoted_printable_decode($content);
                 } else {
                     $content = base64_decode($content);
                 }
                 $f = tmpfile();
                 array_push($handlers, $f);
                 fwrite($f, $content);
                 $request->addUpload("files[{$filename}]", $f, $filename);
             }
         }
     }
     $request->addPostParameter($params);
     $response = $request->send();
     foreach ($handlers as $f) {
         fclose($f);
     }
     if ($response->getStatus() != 200) {
         throw new Zend_Mail_Transport_Exception("SendGrid API: unexpected response: " . $response->getBody());
     }
 }
开发者ID:alexanderTsig,项目名称:arabic,代码行数:81,代码来源:Mail.php


注:本文中的Am_HttpRequest::addUpload方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。