SAE云平台上传图片和发送邮件

1.远程图片保存至Storage

  其中public是Storage中的容器名,"目录1/目录2/"是容器下的路径 $file_content 是得到的文件数据

1 $s = new SaeStorage();
2 $file_content= file_get_contents(‘http://abc.pmg‘);   //括号中的为远程图片地址
3 $s->write ( ‘public‘ ,  ‘目录1/目录2/abc.png‘ , $file_content); 
2.sae上的上传图片   用thinkphp框架内置上传类能够完美兼容sae环境,只是在sae上上传成功后返回的路
   径是文件名,需要手动加上上传的容器路径,即在项目中需要替换__ING__或者是__PUBLIC__
   的路径,得到路径的方法如下:
1 $storage = new \SaeStorage();                      //实例化SaeStorage类
2 $uploadsae = $storage->getUrl(‘public‘,‘Upload‘);  //得到sae的上传容器路径 
 其中public是Storage中的容器名,"Upload"是容器下的路径;
 替换方法可采用tp的模板替换方法:
1 ‘TMPL_PARSE_STRING‘    =>    array(
2      ‘__ING__‘    => $st->getUrl(‘public‘,‘upload‘),
3      ‘__PUBLIC__‘ => $st->getUrl(‘application‘,‘user‘)
4
5 )

3:生成缩略图并保存在相应的容器中

如果用tp的生成缩略图方法也可以在sae上成功运行,下面使用sae提供的方法生成缩略图

 1 $f = new \SaeFetchurl();
 2 $img_data = $f->fetch(“图片url”); //有文件名读取文件
 3 $img = new \SaeImage();
 4 $img->setData($img_data);
 5 $img->resize($width,$height);    //指定缩略图的宽和高
 6 $new_data = $img->exec();        //执行处理并返回处理后的二进制数据
 7 if ($new_data === false){        //图片处理失败时输出错误
 8         return false;
 9 }
10 $s->write ( ‘public‘ , ‘目录1/目录2/abc.png‘ , $file_content);
11 $img->exec( ‘jpg‘ , true );  //如果不想保存,而是想输出则用:
4:不带html的邮件(不支持html)
1 $mail = new \SaeMail();
2 $body = "亲爱的用户:感谢您在在本网站注册了新帐号。请点击链接激活您的帐号";
3 $mail->setAttach(array("my_photo"=>"照片的二进制数据"));//如果发送图片
4 $ret = $mail->quickSend("收件人的邮箱", ‘邮件标题‘ , $body , ‘发送人的邮箱‘ , ‘发送人邮箱密码‘,‘smtp.139.com‘,25); //smtp.139.com是主机号,25是SMTP服务器端口
5 $mail->clean();     //清楚之前的对象用于循环发送

5:带html的邮件(支持html)

       其中setOpt()只在send()发送命令中起作用,在快速发送quickSend()中不起作用;

 1 $mail = new \SaeMail();
 2 $mail->setOpt(array(
 3      ‘from‘          => ‘[email protected]‘, //发件邮箱例如[email protected]
 4      ‘to‘            => $data[‘email‘],      //接收信箱
 5      ‘smtp_host‘     => ‘smtp.139.com‘,  //smtp服务器
 6      ‘smtp_port‘     => 25,  //port
 7      ‘smtp_username‘ => ‘[email protected]‘, //账户全名,[email protected],要和上面的一样
 8      ‘smtp_password‘ => ‘发送邮箱吗密码‘,
 9      ‘subject‘       => ‘标题‘,
10      ‘content‘       => $body, //发送内容
11      ‘content_type‘  => ‘html‘   //发送格式,默认是text
12      )
13 );
14 $ret = $mail->send();
15 $mail->clean();
16 if($ret == false){
17       var_dump($mail->errno(), $mail->errmsg()); //打印出错信息
18       return false;
19 }else{
20       return true;
21 }

想要了解跟多参数:http://apidoc.sinaapp.com/class-SaeMail.html

时间: 2024-10-17 14:12:18

SAE云平台上传图片和发送邮件的相关文章

新浪SAE云平台下使用codeigniter的数据库配置

新浪SAE云平台下使用codeigniter的数据库配置 投稿:shichen2014 字体:[增加 减小] 类型:转载 这篇文章主要介绍了新浪SAE云平台下使用codeigniter的数据库配置,主要涉及在database.php的配置,需要的朋友可以参考下 由于新浪SAE对文件权限的限制,cache目录无法修改权限,因此原版Codeigniter无法直接使用.可以尝试codeIgniter 2.10 for SAE:http://code.google.com/p/ci-sae/. 在dat

PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用基础

1.新浪微博开放平台(http://open.weibo.com/wiki/index.php/Quickstart)        开放的是什么:开放平台开放给开发者的是每一个用户的用户关系,开发者不在向传统应用那样面对单个开发者而是面对用户身后的整个好友圈.每一个API都是围绕好友与好友之间的交流来提供相关的功能,如发送微博,查看好友资料等等.        为什么要使用开放平台?开放平台可以加快应用的推广.每个用户可以影响到周围的好友,一旦应用真的优秀,用户可以方便的推荐给好友,好友又可以

Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖

需求描述: 本人大婚将至,女朋友说“现在都流行在微信上发电子请帖了,你不是技(cheng)术(xu)宅(yuan)嘛,不会连这个都搞不定吧” 本人嘴上说这等小事何足挂齿,但心里还是七上八下的,虽然自认为几年开发经验在工作上还算得心应手,但也因为工作项目局限,对Web开发特别是前端和建站技术接触不多 于是打开搜索引擎和女朋友一起看看现在市面上的服务,基本上都是给出一套模板,自己填上内容和照片后,生成电子请帖,而形式有网页也有单张图片的 收费也不贵,都在百元左右.但收费是小,面子是大啊,作为一个软件

网络架构、云平台和微信公众平台开发接入

版权声明:本文为博主原创文章,未经博主允许不得转载. 云与后端相关的技术似乎并不属于嵌入式和物联智能硬件开发工程师的范畴,但是嵌入式开发工程师有必要认识成熟的网络架构和相关的云技术,以拓展自己在系统架构方面的视野.大数据分析是物联网背后的核心价值,物联智能硬件是物联大系统的终端,开发工程师不仅要深入精通物联技术,也应该去理解大系统,甚至整个生态领域的相关技术. 作为嵌入式开发工程师,也许并不需要熟悉云和后端的技术开发,但至少要对其中用到的技术和接口有一定的认识. 一.网络架构 常见的网络架构分为

在Heroku云平台上部署Node.js应用

        最近使用Node.js和Websocket写了一个在线聊天室,想找一个即支持Node.js又支持Websocket的免费的平台部署上去,我的个人博客网站是部署在新浪SAE上的,可是新浪SAE不支持Node.js,无奈挑来选去只有Heroku最合适了.         Heroku是构建在AWS之上的一个PaaS云平台,现在支持Ruby, Node.js, Python, Java, 和 PHP,代码的部署是通过git进行,编译和运行都是自动的.我使用Heroku的感觉就是,在He

Bluemix使用与其他云平台对比

笔者近几年做过了一些项目,应用了国内外的几家云平台,包括:Bluemix.阿里云.七牛.新浪云等.下面介绍一下各个云的情况及使用心得. 一.  Bluemix Bluemix是来自IBM的最新云产品,它提供了开放.整合的环境及开发管理工具,使得企业与开发人员能够快速而又轻松地在云上创建.部署和管理应用程序(web,移动,大数据,新型智能设备等). Bluemix是IBM基于 Cloud Foundry 开放云架构的PaaS平台,Bluemix不仅提供了企业级服务,还包括其他IBM的软件服务,第三

Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解

Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756989) 前言:现在很多APP都需要云的功能,也就是通过网络与服务器交换数据.有的采用tcp/ip协议,但是你必须拥有一个固定ip的服务器,可以购买阿里云服务器之类的,就是贵了点.如果只是个人的小应用的的话可以采用新浪云平台这种免费的服务器,采用的协议是http协议,具体实现方式如下: 方式一.在线

云计算概念以及六大云平台对比---------开发者如何选型不同的云

什么叫做云计算? 主要是提出的概念:用户的手机.pc.笔记本统称为端:网络的服务称为云.端和云的网络格局. 可以从“端”通过“云”(网络)获得强大的计算能力,数据处理能力及其它. 每个端也可以为整个云贡献自己的计算能力.——云计算 狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需.易扩展的方式获得所需资源: 广义云计算指服务的交付和使用模式,指通过网络以按需.易扩展的方式获得所需服务.这种服务可以是IT和软件.互联网相关,也可是其他服务. 云计算的核心思想,是将大量用网络连接的计算资源

史上最强国内云平台大搜罗

随着云计算技术的普及,云平台在软件开发工作方面承担起了越来越重要的作用.它帮助企业降低IT成本,让很多小微型企业更专注业务,同时,它也慢慢改变了我们的工作与生活.然而,在如今这个凡事都讲求"免费"的时代,国内的云平台又有哪些服务是免费的呢?就我个人而言,我这几年也用过国内不少家的产品,就让我来说一说,点评一下吧. 1.阿里云 性价比不错,产品种类也很多.环境可以自己配置也可以直接选择配置好的,非常方便.在收了万网之后,备案特别方便快捷,但有网友反映其防dns攻击方面有点弱,会解析不了直