SAE云平台上传图片和发送邮件
1.远程图片保存至Storage
其中public是Storage中的容器名,"目录1/目录2/"是容器下的路径 $file_content 是得到的文件数据
$s = new SaeStorage();
$file_content= file_get_contents('http://abc.pmg'); //括号中的为远程图片地址
$s->write ( 'public' , '目录1/目录2/abc.png' , $file_content);
2.sae上的上传图片
用thinkphp框架内置上传类能够完美兼容sae环境,只是在sae上上传成功后返回的路
径是文件名,需要手动加上上传的容器路径,即在项目中需要替换__ING__或者是__PUBLIC__
的路径,得到路径的方法如下:
$storage = new \SaeStorage(); //实例化SaeStorage类
$uploadsae = $storage->getUrl('public','Upload'); //得到sae的上传容器路径
其中public是Storage中的容器名,"Upload"是容器下的路径;
替换方法可采用tp的模板替换方法:
'TMPL_PARSE_STRING' => array(
'__ING__' => $st->getUrl('public','upload'),
'__PUBLIC__' => $st->getUrl('application','user') )
3:生成缩略图并保存在相应的容器中
$f = new \SaeFetchurl();
$img_data = $f->fetch(“图片url”); //有文件名读取文件
$img = new \SaeImage();
$img->setData($img_data);
$img->resize($width,$height); //指定缩略图的宽和高
$new_data = $img->exec(); //执行处理并返回处理后的二进制数据
if ($new_data === false){ //图片处理失败时输出错误
return false;
}
$s->write ( 'public' , '目录1/目录2/abc.png' , $file_content);
$img->exec( 'jpg' , true ); //如果不想保存,而是想输出则用:
4:不带html的邮件(不支持html)
$mail = new \SaeMail();
$body = "亲爱的用户:感谢您在在本网站注册了新帐号。请点击链接激活您的帐号";
$mail->setAttach(array("my_photo"=>"照片的二进制数据"));//如果发送图片
$ret = $mail->quickSend("收件人的邮箱", '邮件标题' , $body , '发送人的邮箱' , '发送人邮箱密码','smtp.139.com',25); //smtp.139.com是主机号,25是SMTP服务器端口
$mail->clean(); //清楚之前的对象用于循环发送
5:带html的邮件(支持html)
其中setOpt()只在send()发送命令中起作用,在快速发送quickSend()中不起作用;
$mail = new \SaeMail();
$mail->setOpt(array(
'from' => 'abc@sina.com', //发件邮箱例如abc@sina.com
'to' => $data['email'], //接收信箱
'smtp_host' => 'smtp.139.com', //smtp服务器
'smtp_port' => 25, //port
'smtp_username' => 'abc@sina.com', //账户全名,abc@sina.com,要和上面的一样
'smtp_password' => '发送邮箱吗密码',
'subject' => '标题',
'content' => $body, //发送内容
'content_type' => 'html' //发送格式,默认是text
)
);
$ret = $mail->send();
$mail->clean();
if($ret == false){
var_dump($mail->errno(), $mail->errmsg()); //打印出错信息
return false;
}else{
return true;
}
想要了解跟多参数:http://apidoc.sinaapp.com/class-SaeMail.html
SAE云平台上传图片和发送邮件的更多相关文章
- 新浪SAE云平台下使用codeigniter的数据库配置
新浪SAE云平台下使用codeigniter的数据库配置 投稿:shichen2014 字体:[增加 减小] 类型:转载 这篇文章主要介绍了新浪SAE云平台下使用codeigniter的数据库配置,主 ...
- SAE云平台的使用
参考文章:http://www.cnblogs.com/luyangsblog/p/3956135.html Web开发从零单排之一:在新浪云平台SAE上开发一个htm ...
- UE移植到SAE云平台
应用架在新浪的SAE上,而同时功能中又需要用上编辑器,鉴于百度的UEditor功能强大,可定制,文档全,所以理所当然的用它.而新浪把本地文件的IO操作禁止了,使得UEdiotr的图片上传.附件和在线涂 ...
- 利用新浪云平台(SAE) 搭建 HUSTOJ 简易教程
前言: OnlineJudge(OJ)是一种代码在线判定平台,这里有许多的编程题目供你选择,你可以选择题目提交代码,OJ会自动返回你的代码的判定结果.是一种很方便的编程.算法练习平台.详情可见:百度百 ...
- Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖
需求描述: 本人大婚将至,女朋友说“现在都流行在微信上发电子请帖了,你不是技(cheng)术(xu)宅(yuan)嘛,不会连这个都搞不定吧” 本人嘴上说这等小事何足挂齿,但心里还是七上八下的,虽然自认 ...
- Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解
Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...
- 026.[转] 基于Docker及Kubernetes技术构建容器云平台 (PaaS)
[编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容 ...
- 标准产品+定制开发:专注打造企业OA、智慧政务云平台——山东森普软件,交付率最高的技术型软件公司
一.公司简介山东森普信息技术有限公司(以下简称森普软件)是一家专门致力于移动互联网产品.企业管理软件定制开发的技术型企业.公司总部设在全国五大软件园之一的济南齐鲁软件园.森普SimPro是由Simpl ...
- .Net 分布式云平台基础服务建设说明概要
1) 背景 建设云平台的基础框架,用于支持各类云服务的业务的构建及发展. 2) 基础服务 根据目前对业务的理解和发展方向,总结抽象出以下几个基础服务,如图所示 3) 概要说明 基础服务的发展会根 ...
随机推荐
- activiti查看流程图,有中文乱码
第一种 因为服务器缺少必要的字体到这的问题: 解决办法 <!-- 发布流程生成图片是正常显示中文 --> <property name="activi ...
- iOS开发——高级篇——内存分析,Instruments
一.内存分析 1.静态内存分析(Analyze)不运行程序,直接对代码进行内存分析,查看代码是否有内存泄露优点:分析速度快,并且可以对所有的代码进行内存分析缺点:分析结果不一定准确(没有运行程序,根据 ...
- JDBC MySQL
JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com. ...
- 剑指Offer 斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 思路: 不考虑递归 用递推的思路 AC代码: class Solution { public ...
- python成长之路 :线程、进程和协程
python线程 进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CPU是计算机的核心,它承担计算机的所有任务. 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分 ...
- ubuntu14.04 server 安装vmware worktation 12
0) Do the basic system installation of Ubuntu 14.04 LTS (Server or Desktop) 1) wget the installer wg ...
- 手动fsck修复
[转自]http://blog.chinaunix.net/uid-26719405-id-3781541.html 由于硬盘常年读写,系统会造成系统文件损坏,导致重启后无法登陆到系统, fsck不仅 ...
- perl Can't use string Cxxx) as a symbol ref while "strict refs" in use at XXXX.pl错误
今天写脚本遇到Can't use string ("bond2 Link encap:InfiniBand ") as a symbol ref while "s ...
- NoSQL之【MongoDB】学习(二):DML和查询操作说明
摘要: 操作MongoDB的方法和关系型数据库差别很大,现在对他们进行说明,后期会逐步完善. ##开头表示MySQL** 开头表示MongoDB 创建: Mongodb:文档数据库,擅长存非结构化数据 ...
- HTML5 video 支持air play
< video src="/path/to/video.mp4" x-webkit-airplay="allow" preload controls> ...