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) 概要说明 基础服务的发展会根 ...
随机推荐
- Unity手游之路<一>C#版本Protobuf
http://blog.csdn.net/janeky/article/details/17104877 个游戏包含了各种数据,包括本地数据和与服务端通信的数据.今天我们来谈谈如何存储数据,以及客户端 ...
- 清除SVN版本控制文件
命名为bat后缀文件,放在对应目录下. @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN文件,请稍候...... @rem ...
- OpenCV图像Canny边缘检测
Canny边缘检测 图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘函数原型: void cvCanny( ...
- Python自动化之YAML解析
准备工作 pip install PyYAML import yaml yaml语法规则 想要表示列表项,使用一个短横杠加一个空格.多个项使用同样的缩进级别作为同一列表的一部分 my_dictiona ...
- 转:js清空数组
方式1,splice 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组 ...
- pycharm 2016 注册码
43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...
- CSS3 text-overflow 属性
1. <!DOCTYPE html> <html> <head> <style> div.test { white-space:nowrap; widt ...
- STL---list(列表)
Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. list的类模板声明为 template<class T, class A ...
- adb操作命令详解及大全
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...
- unity3D技术之事件函数的执行顺序[转]
unity3D技术之事件函数的执行顺序 转自http://www.yxkfw.com/?p=13703 在unity的脚本,有大量的脚本执行按照预先确定的顺序执行的事件函数.此执行顺序说明如下: ...