最近在弄一个购物分享的程序(http://ganhuo.xxorg.com),因为这个程序放在新浪云SAE平台,图片需要存储在新浪云SAE平台的Storage,所以找到了在新浪云SAE平台将本地图片和远程图片保存至Storage的最简洁的方法,现在给大家分享一下 :
一、远程图片保存至Storage
$s = new SaeStorage();
$img = file_get_contents('http://www.asitela.com/shopbg.png'); //括号中的为远程图片地址
$s->write ( 'public' , 'b.png' , $img );
?>
// 【public】为 Storage的名称;【b.png】为图片名称,格式可以自己任意设置格式,改成b.png均能正常显示,且大小不变;
二、本地图片上传至Storage
【提交页面】
【处理页面】
图片上传处理代码$filename = 'filename';
$files = $_FILES[$filename];
$name= 'asitela-'.time().'.jpg';
$form_data =$files['tmp_name'];
$s2 = new SaeStorage();
$img = new SaeImage();
$img_data = file_get_contents($form_data);//获取本地上传的图片数据
$img->setData($img_data);
$img->resize(180,180); //图片缩放为180*180
$img->improve();//提高图片质量的函数
$new_data = $img->exec(); // 执行处理并返回处理后的二进制数据
$s2->write('public',$name,$new_data);//将public修改为自己的storage 名称$url= $s2->getUrl('public',$name);//将public修改为自己的storage 名称echo "文件名:".$name."
";
echo "图片url:".$url."
";
echo "";
?>