<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. DSP TMS320C6000基础学习(1)——介绍

    主要内容 1. Why process signals digitally? (1)模拟电路由模拟组件构成:电阻.电容及电感等,这些组件随着电压.温度或机械结构的改变会动态影响到模拟电路的效果: (2 ...

  2. oracle em命令行配置及界面按钮乱码问题解决方法

    一.配置EM dbconsole db [oracle@rusky ~]$ lsnrctl start [oracle@rusky ~]$ emctl start dbconsoleTZ set to ...

  3. 【概率论】【POJ 3682】【King Arthur's Birthday Celebration】

    题意:进行翻硬币实验,若k次向上则结束,进行第n次实验需花费2*n-1的费用,询问期望结束次数及期望结束费用 设F[i]为第i次结束时的概率 F[i]=  c(i-1,k-1)*p^k*(1-p)^( ...

  4. IE下图片切换的时候,图片总是切换不成功---根本问题是IE缓存图片

    作为WEB设计者,为了在网页展示上加强用户体验,经常会利用图象载入显示状态方法,这自然需要Image对象的onload事件. 在firefox浏览器下完成开发后,可是在IE浏览器中进行调试总不能被调用 ...

  5. 《think in python》学习-10

    think in python 10 列表 和字符串相似,列表是值得序列.在列表中,它可以是任何类型,列表中的值成为元素,有时也称为列表项 s = [10,20,30,40] print s #列表也 ...

  6. 删除数组中等于某个key的所有元素

    题目描述: 给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度. 这道题目做暴力的想法就是,用一个指针从头到尾遍历,删除哪个元素就把后面的元素统一向前移动一个位置.但是这样的时间复杂度很 ...

  7. ie兼容---haslayout

    要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念.大多IE下的显示错误,就是源于 haslayout. 什么是 haslayout ? ...

  8. php 迭代器与和生成器

    php有很多功能强大的接口,其中ArrayAccess 与 Iterator 的配合使用可以让对象与数组一样有着灵活的访问性. 当然,用ArrayAccess 与 Iterator 配合可以用来对付数 ...

  9. MFC常用 控制对话框透明属性函数

    void CFloatWnd::OnUpdateTransparent(int iTransparent){ HINSTANCE hInst = LoadLibrary("User32.DL ...

  10. hdu 5442 Favorite Donut 最大表示法+kmp

    题目链接 给你一个字符串, 然后把他想象成一个环. 从某一个地方断开,然后逆时针或顺时针, 都可以形成一个字符串, 求字典序最大的那种. 输出断开位置以及是顺时针还是逆时针. 如果两个一样, 输出位置 ...