新浪云实现上传缩略图

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<html>
<head>
<title>ZwelL图片上传程序</title>
</head>
  <form enctype="multipart/form-data" method="post" name="upform">
  <input name="upfile" type="file">
  <input type="submit" value="上传">
  </form>
<?php
function Outputsmallimage($src,$w,$smallscr)
{
  $temp=pathinfo($src);
  $name=$smallscr;//文件名
  $dir=$temp["dirname"];//文件所在的文件夹
  $extension=$temp["extension"];//文件扩展名
  $savepath="Smallimages/{$name}";//缩略图保存路径,新的文件名为*.thumb.jpg
  $info=getimagesize($src);
  $width=$info[0];//获取图片宽度
  $height=$info[1];//获取图片高度
  $type=$info[2];
    switch($type){
      case 1:$im=imagecreatefromgif($src);break;
      case 2:$im=imagecreatefromjpeg($src);break;
      case 3:$im=imagecreatefrompng($src);break;
      default:break;
    }
 if ($w == 385) {//此处是对缩略图的比例调整,也可自己定义规则
      $h = 500;
    } elseif ($w == 225) {
      $h = 300;
    } elseif ($w == 75) {
      $h = 100;
    }
 $temp_img=imagecreatetruecolor($w,$h);//创建画布
 imagecopyresized($temp_img,$im,0,0,0,0,$w,$h,$width,$height);
 $s = new SaeStorage(); ob_start();
 imagejpeg($temp_img);
 $imgstr = ob_get_contents();
 $s->write(‘image1234‘,$savepath,$imgstr);
 ob_end_clean();
 imagedestroy($im);
 return "saestor://image1234/".$savepath;
}
 function create_guid() {    $charid = strtoupper(md5(uniqid(mt_rand(), true)));    $hyphen = chr(45);// "-"    $uuid =     substr($charid, 0, 8)    .substr($charid, 8, 4)    .substr($charid,12, 4)    .substr($charid,16, 4)    ;    return $uuid;}
if ($_SERVER[‘REQUEST_METHOD‘] == ‘POST‘)
{
    echo "\n上传开始时间:".date(‘y-m-d h:i:s‘,time())."\n";
    $destination_folder="saestor://image1234/Updateimg/"; //上传文件路径 需要在新浪云上创建Storage
    $file = $_FILES["upfile"];
    $filename=$file["tmp_name"];
    $image_size = getimagesize($filename);
    $pinfo=pathinfo($file["name"]);
    $ftype=$pinfo[‘extension‘];
    $imagebig=create_guid().".".$ftype;
    $imagesmall=create_guid().".".$ftype;
    $bucket = "w376161501";
    $object="Ionic/Imagebig/".$imagebig;
try{    if(move_uploaded_file ($filename, $destination_folder.$imagebig))//参数为文件流和存储的位置以及名称    {       echo "原图片上传成功";    }
    $path=Outputsmallimage($filename,225,$imagesmall);
    }
catch (OssException $e) {
    echo $e;
    }
    //unlink($path); 用于删除缩略图
}
?>
</body>
</html>

 *新浪云上imagegif不支持Wrapper,即imageif,imagejpeg,imagepan不适应了。需要写到缓冲区ob_start();再通过saestorage写入stor

*需要在新浪云上申请Storage(免费)

另一种方法参考链接:http://blog.csdn.net/yangyun_1999/article/details/20377989#comments

其他新浪云应用的文件读写:http://blog.csdn.net/liuqiyao_01/article/details/8551274(参考价值比较大)

时间: 2024-10-05 05:07:37

新浪云实现上传缩略图的相关文章

新浪云git 上传 nodejs项目

1.在本地项目目录生成packageJSON文件 2.打开package.json, 添加以下内容 3.添加新浪云远程仓库 注意:sae在新浪云上是不存在的,需要自己添加 4.拉取远程仓库sae的内容: 这里要输入用户名和密码,即新浪云上的: 这里出现的 是因为,默认初始时的新浪云git服务器是空白的,就连master分支都没有,所以不能执行pull操作. 5.在本地工作区中添加项目文件,添加到本地暂存区,提交本地仓库 git add . git commit -m  "说明文字"

快速低成本在新浪云SAE上建立定时执行任务 -以python脚本为例

1解决的问题和优势 l 利用SAE云应用不间断在线的特点,支持定时执行任务,支持php.java.python2.7等语言运行,从此不用担心自己的电脑关机了,没网络了不能及时有效运行定时任务的尴尬,当然也可以部署其他自己或SAE提供的应用(收费了,与其他云平台区别不大) l 对于一些小脚本的定时运行基本可以做到免费,代码空间5G,存储空间10G,可以支持小爬虫定时采集网页,自动发微博,帖子等各种有趣的功能 l 使用较为简单,上手容易,文档帮助齐全,可以快速使用 2 建立自己的定时运行应用 ...

新浪图床上传接口源码分享

部署源码之后自行修改账号密码为自己的新浪账号 <?php /** * 上传图片到微博图床 * @author Youngxj & mengkun & 阿珏 * @param $file 图片文件/图片url * @param $multipart 是否采用multipart方式上传 * @return 返回的json数据 * @code 200:正常;201:错误;203:cookie获取失败;404:请勿直接访问 * @ps 图片尺寸可供选择:square.thumb150.orj

MiinCMP1.0 SAE 新浪云版发布, 开源企业网站系统

MiinCMP是一款开源企业网站系统,除可运行于256M左右100元的国内IDC外,JUULUU聚龙软件团队近期开发了面向新浪云的版本,该版本可将网站免费布署到新浪云SAE上.MiinCMP采用java开发,兼容jetty,tomcat等servlet容器.   MiinCMP1.0 新浪云SAE版安装包 http://pan.baidu.com/s/1kT1EbUR 百度云下载   MiinCMP1.0 新浪云SAE版源码包 http://pan.baidu.com/s/1kT9f9mZ  百

MiinCMP1.0 SAE 新浪云版公布, 开源企业站点系统

MiinCMP是一款开源企业站点系统,除可执行于256M左右100元的国内IDC外,JUULUU聚龙软件团队最近开发了面向新浪云的版本号,该版本号可将站点免费布署到新浪云SAE上.MiinCMP採用java开发,兼容jetty,tomcat等servlet容器.   MiinCMP1.0 新浪云SAE版安装包 http://pan.baidu.com/s/1kT1EbUR 百度云下载   MiinCMP1.0 新浪云SAE版源代码包 http://pan.baidu.com/s/1kT9f9mZ

上传文件到新浪云Storage的方法

上传文件到新浪云Storage的方法,兼容本地服务器 if (!empty($_FILES['sharepic']['name'])){ $tmp_file = $_FILES['sharepic']['tmp_name']; $file_types = explode(".", $_FILES['sharepic']['name']); $file_type = $file_types[count($file_types) - 1]; /*设置上传路径*/ if (isset($_S

手把手教你在新浪云上免费部署自己的网站--连接数据库

看这篇博客之前请一定要先看一下另一片博客,链接是http://www.cnblogs.com/-beyond/p/6686166.html 看完之后,默认你知道怎么将代码上传到新浪云SAE,并且能够成功运行,连接数据库之前,你必须先创建有一个应用. 现在我创建一个名称为sampleone的应用,如下图 点击左侧的代码管理,选在右侧创建一个版本 然后就会看到下面的页面 你可以选择编辑代码,也可以选择上传代码包,但是在此,为了简便,我只创建一个代码文件,直接在index.php里面 你已经注意到,数

Thinkcmf 在新浪云上的部署问题

最近要开发一个社团主页,于是想到了CMF内容管理系统的,但是直接在自己的服务器测试成本太高,于是选择了在新浪云上进行部署测试. 但是在安装Thinkcmf的过程中产生了一些技术性的问题.但最后终于在自己的测试下解决了这个问题,再此过程中感谢胡明宣,胡哥的帮助.先 讲自己的安装过程总结如下: 1>你要有一个新浪的账号,注册新浪云账号,具体的见新浪云网站http://sae.sina.com.cn/,在新浪云里创建一个应用假设为demo 2>你要有一个Thinkcmf的安装包,具体版本选择见Thi

BotVS配置管理—使用新浪云搭建托管者

1. 创建SAE应用 登录新浪云平台,点击创建新应用 2. SAE环境部署 在新应用中选择自定义 相应选项如下 开发语言:自定义 运行环境:云容器 语言版本:自定义 部署方式:手工部署 操作系统:系统 centos 版本7 环境配置:基础 应用信息:填写二级域名及应用名称 3. 确认环境信息 查看信息及价格 4. 创建成功 创建成功后,跳转到容器管理点击 SSH客户端登录,登录地址为 ssh -p 60022 [email protected] 5. 创建ssh-keygen Windows上需