<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<html>
<head>
<title>新浪云图片上传程序</title>
</head>
<form enctype="multipart/form-data" method="post" name="upform">
<input name="upfile" type="file">
<input type="submit" value="上传">
</form>
<?php
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
function create_guid() {
$charid = strtoupper(md5(uniqid(mt_rand(), true)));
$uuid =
substr($charid, , )
.substr($charid, , )
.substr($charid,, )
.substr($charid,, );
return $uuid;
}
function UploadSmallImage($src,$w,$smallscr)
{
$temp=pathinfo($src);
$name=$smallscr;//文件名
$dir=$temp["dirname"];//文件所在的文件夹
$extension=$temp["extension"];//文件扩展名
$savepath="image_small/{$name}";//缩略图保存路径,新的文件名为*.thumb.jpg
$info=getimagesize($src);
$width=$info[];//获取图片宽度
$height=$info[];//获取图片高度
$type=$info[];
switch($type){
case :$im=imagecreatefromgif($src);break;
case :$im=imagecreatefromjpeg($src);break;
case :$im=imagecreatefrompng($src);break;
default:break;
}
if ($w == ) {
$h = ;
} elseif ($w == ) {
$h = ;
} elseif ($w == ) {
$h = ;
}
$temp_img=imagecreatetruecolor($w,$h);//创建画布
imagecopyresized($temp_img,$im,,,,,$w,$h,$width,$height);
$s = new SaeStorage();
ob_start();
imagejpeg($temp_img);
$imgstr = ob_get_contents();
$s->write('w376161501',$savepath,$imgstr);
ob_end_clean();
imagedestroy($im);
return $savepath;
}
function UploadBigImage($src,$smallscr)
{
$temp=pathinfo($src);
$name=$smallscr;//文件名
$dir=$temp["dirname"];//文件所在的文件夹
$extension=$temp["extension"];//文件扩展名
$savepath="image_big/{$name}";//缩略图保存路径,新的文件名为*.thumb.jpg
$info=getimagesize($src);
$width=$info[];//获取图片宽度
$height=$info[];//获取图片高度
$type=$info[];
switch($type){
case :$im=imagecreatefromgif($src);break;
case :$im=imagecreatefromjpeg($src);break;
case :$im=imagecreatefrompng($src);break;
default:break;
}
$s = new SaeStorage();
ob_start();
imagejpeg($im);
$imgstr = ob_get_contents();
$s->write('w376161501',$savepath,$imgstr);
ob_end_clean();
return $savepath;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$file = $_FILES["upfile"];
$filename=$file["tmp_name"];
$image_size = getimagesize($filename);
$pinfo=pathinfo($file["name"]);
$ftype=$pinfo['extension'];
$imagesmall=create_guid().".".$ftype;
$big=UploadBigImage($_FILES['upfile']['tmp_name'],$imagesmall);
$small=UploadSmallImage($_FILES['upfile']['tmp_name'],,$imagesmall);
echo '原图:'.$small.'缩略图:'.$big;
} ?>
</body>
</html>

新浪云-PHP实现上传原图,缩略图的更多相关文章

  1. Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖

    需求描述: 本人大婚将至,女朋友说“现在都流行在微信上发电子请帖了,你不是技(cheng)术(xu)宅(yuan)嘛,不会连这个都搞不定吧” 本人嘴上说这等小事何足挂齿,但心里还是七上八下的,虽然自认 ...

  2. 用git上传代码到新浪云

    新浪云空间是国内免费的一个空间,不过有限制很多. 申请新浪云需要新浪账号,注册略. 使用新浪账号去http://sae.sina.com.cn申请一个空间 选择新建应用 可以选择使用php项目 管理应 ...

  3. 新浪云git 上传 nodejs项目

    1 .新建一个空文件夹: 2.在当前文件夹下,初始化本地git: 3.将要上传的nodejs工程,拷贝到这里: 这一步很容易出问题,所以最好不要拷贝别人给的node_modules文件,尽量做到现用现 ...

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

    上传文件到新浪云Storage的方法,兼容本地服务器 if (!empty($_FILES['sharepic']['name'])){ $tmp_file = $_FILES['sharepic'] ...

  5. Thinkcmf 在新浪云上的部署问题

    最近要开发一个社团主页,于是想到了CMF内容管理系统的,但是直接在自己的服务器测试成本太高,于是选择了在新浪云上进行部署测试. 但是在安装Thinkcmf的过程中产生了一些技术性的问题.但最后终于在自 ...

  6. Howie带你云上飘-新浪云

    介绍一下怎么在sae上做个网站 前言 曾经,sae是收费的,计时收费,还挺贵的呢.所以就试玩了一下,没敢继续鼓捣.后来,云计算越来越火了,新浪也不差钱嘛,于是直接给新注册的开发者送好多豆子,于是,免费 ...

  7. 新浪云SAE使用入门,教你如何发布自己的网站

    新浪云sae是一个免费的web服务器,SAE的Web服务器采用分布式部署的方式,开发者将代码部署到SAE前端机后,会通过同步的方式,将代码部署到SAE所有的Web服务器.相当于在每一台Web服务器上都 ...

  8. 手把手教你用新浪云容器 Java 搭建自己的网站

    经过一段时间的开发,更新,迭代,新浪云容器 Java 环境逐渐成熟起来,相比过去的 Java 运行环境,可用性和易用性都得到了大量的提升.同时也收到了不少用户反馈的使用问题,特此在这篇文章里综合介绍一 ...

  9. Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解

    Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...

随机推荐

  1. hdu 4393 Throw nails(STL之优先队列)

    Problem Description The annual school bicycle contest started. ZL is a student in this school. He is ...

  2. SQL Server中的sysobjects

    摘自:http://www.cnblogs.com/bugY/archive/2011/09/21/2184182.html 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是 ...

  3. iOS使用ffmpeg播放rstp实时监控视频数据流

    一.编译针对iOS平台的ffmpeg库(kxmovie) 最近有一个项目.须要播放各种格式的音频.视频以及网络摄像头实时监控的视频流数据,经过多种折腾之后,最后选择了kxmovie,kxmovie项目 ...

  4. android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

      http://blog.csdn.net/lilu_leo/article/details/11952717 有时候需要在在代码中设置LayoutParams,自己为一个FrameLayout设置 ...

  5. Shell命令行

    利用wc命令统计文件行,单词数,字符数,利用sort排序和去重,再结合uniq可以进行词频统计. cat file.txt sort hello.c | uniq -c | sort -nr |hea ...

  6. Windows 2012 AD配置

    //本文选在快帮网,非原创. Active Directory概述: 使用 Active Directory(R) 域服务 (AD DS) 服务器角色,可以创建用于用户和资源管理的可伸缩.安全及可管理 ...

  7. javascript模式——Command

    假设我们要做一个计算器程序 var calculator = { add: function( x, y ){ return x + y; }, sub: function( x, y ){ retu ...

  8. JS中的逻辑哲学

    1.幻灯片播放. 有重用功能的代码要封入一个函数内,尽量减少调用出口(一般传入的参数为索引值),以便调用: 计数器放在最终调用的函数那里,index++: 明确那部分函数执行什么功能,将代码块只放在相 ...

  9. windows 安装paramiko模块

    首先需要安装pycrypto这个模块,这个下源码编译安装的不能用报错warning: GMP or MPIR library not found; Not building这个用编译好的模块安装已编译 ...

  10. View的滑动冲突

    一.常见的滑动冲突 场景1:外部滑动和内部滑动不一致 场景2:外部滑动和内部滑动一致 场景3:上面两种情况的嵌套 二.滑动冲突的处理方法 场景一:根据水平滑动还是竖直滑动判断到底由谁来拦截事件. 场景 ...