最新消息:本站访问过程中有任何问题请与我联系……

【PHP】新浪云SAE平台将本地图片和远程图片保存至Storage

程序源码 xx2008 5007浏览 0评论

最近在弄一个购物分享的程序(http://ganhuo.xxorg.com),因为这个程序放在新浪云SAE平台,图片需要存储在新浪云SAE平台的Storage,所以找到了在新浪云SAE平台将本地图片和远程图片保存至Storage的最简洁的方法,现在给大家分享一下 :

一、远程图片保存至Storage 

<?php
$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 

【提交页面】

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div id="container">
<form action="upload.php" method="post" enctype="multipart/form-data">
<p><input type="file" name="filename" /></p>
<input type="submit"  id="postBtn" value="上传图片">
</form>  
</div>
</body>
</html>

【处理页面】

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>图片上传处理代码</title>
</head>
<body>

<?php
$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."<br/>";
echo "图片url:".$url."<br/>";
echo "<img src='$url' />";
?>
</body>
</html>

转载请注明:服务器VPS折腾 » 【PHP】新浪云SAE平台将本地图片和远程图片保存至Storage

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址