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) 概要说明 基础服务的发展会根 ...
随机推荐
- Xcode 8 : iOS xib is missing from working copy、iOS misssing file
1,造成此问题可能是SVN的原因,通过命令行解决. 2.未使用SVN,竟然是icloud 造成的,通过 改变网络状态 + 重启Xcode 解决.
- 粒子系统模块(Particle System Modules40)
粒子系统模块(Particle System Modules40) 粒子系统模块(忍者飞镖) 粒子系统(忍者飞镖)(Particle System (Shuriken)) 用模块描述粒子一段时间内的行 ...
- STL标准模板库介绍
1. STL介绍 标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下 本文将介绍STL并探讨它的三个主要概念:容器.迭代器.算法. STL的最大特点就是: 数据结构和算法的 ...
- OpenCV图像的二值化
图像的二值化: 与边缘检测相比,轮廓检测有时能更好的反映图像的内容.而要对图像进行轮廓检测,则必须要先对图像进行二值化,图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出 ...
- Apache 配置参考
1.什么是Apache ? Apache,是一种开放源码的HTTP服务器,可以在大多数操作系统中运行,由于其多平台和安全性所以被广泛使用,是目前最流行的Web服务器软件之一.Apache 起初由 Il ...
- django xadmin多个model的数据渲染在统一个template中
adminx.py demo class ModelAdmin(object): #.... def get_context(self): context = super(SimCardService ...
- Git对象模型
原文:http://gitbook.liuhui998.com/1_2.html 一.SHA 在git中,所有用来表示项目历史信息的文件,是通过一个40个字符的(40-digit)"对象名& ...
- [转]Java 征途:行者的地图
前段时间应因缘梳理了下自己的 Java 知识体系, 成文一篇望能帮到即将走进或正在 Java 世界跋涉的程序员们. 第一张,基础图 大约在 2003 年我开始知道 Java 的(当时还在用 Delph ...
- mybatis Result Maps collection already contains value for com.ebways.dictionary.dao.impl.PtInfoDaoImpl.beanMap
java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...
- rman
http://wenku.baidu.com/link?url=UGVBgYKaKoT7_KI-jpj3BG0XF_7_kpZBZLoXD-9uTQkpw-brlacrkVNcfkHEXuax4ahc ...