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) 概要说明 基础服务的发展会根 ...
随机推荐
- 使用 Intel HAXM 为 Android 模拟器加速,媲美真机
http://www.cnblogs.com/beginor/archive/2013/01/13/2858228.html
- web服务器页面错误代码集
HTTP 1xx-信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应. 100-继续. 101-切换协议. 2xx-成功 这类状态代码表明服务器成功地接受了 ...
- 剑指Offer 斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 思路: 不考虑递归 用递推的思路 AC代码: class Solution { public ...
- osc的git服务器简单使用。
1.创建本地仓库 mkdir dir cd dir git init 初始化仓库 2.创建远程仓库 进入远程仓库去创建 3.关联本地仓库与远程仓库 git remote add osc git::.. ...
- SNMP报文抓取与分析(二)
SNMP报文抓取与分析(二) SNMP报文抓取与分析(二) 1.SNMP报文表示简介 基本编码规则BER 标识域Tag表示 长度域length表示 2.SNMP报文详细分析(以一个get-respon ...
- hdu 5492
动态规划 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm&g ...
- 9.8---硬币问题(CC150)
这道题卡了一天.要想AC非常难. 1,第一个解决办法,优化暴力: public class Coins { public static int countWays(int n){ int num25 ...
- c语言——知识点
环境: ubuntu 13.04 32位 gcc version 4.7.3 ++i,i++ 代码如下: #include <stdio.h> main() { int i; //test ...
- MVC Create
本文介绍如何在MVC里往数据库中插入新的记录. 这里用到的数据表如下: Employees Step 1: 在Control文件里加入method public ActionResult Create ...
- php xdebug配置
2015年11月27日 17:08:54 [xdebug] ;用触发的形式去开启跟踪调试 get/post/cookie 中添加变量"XDEBUG_TRACE" xdebug.au ...