上传图片并生成相关缩略图-PHP
if(!empty($_FILES["fileField"]["name"])){//检测表单传递文件数据
$fileinfo = $_FILES["fileField"];
if($fileinfo['size'] < 10000000 && $fileinfo['size'] > 0){//大小筛选
if($fileinfo['type'] == 'image/jpeg'||'image/jpg'||'image/png'||'image/gif' ){//类型筛选
if(!file_exists("./uploadimages")){
mkdir("./uploadimages");
}
move_uploaded_file($fileinfo['tmp_name'],"uploadimages/".$fileinfo['name']) or die("文件上传失败");
$path=(string)$fileinfo['name'];
$sql="insert into banner values(' ','$path','$alt','$riqi',' ','$url')";
$insert_id=mysql_query($sql);
if($insert_id){
makezoom("uploadimages/".$fileinfo['name'],200,100,'uploadimages/200_100/');
makezoom("uploadimages/".$fileinfo['name'],1920,900,'uploadimages/1920_900/');
echo "<script>alert('添加成功');</script>";
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',0);</script>";
}else{
$error=mysql_error();
echo $error;
//echo "<script>alert('添加失败'.$error);</script>";
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',3000);</script>";
}
}else{echo "(请上传正确格式的图片,jpg,png,gif)";
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',3000);</script>";}
}else{
echo ("图片过大或者未知...");
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',3000);</script>";
}
}
function makezoom($src='moban.com/images/bg1.jpg',$width=200,$height=200,$dir = 'uploadimages/200_200/',$delsrc=false)//产生缩略图函数
{
if(!file_exists($dir)){
mkdir($dir);
}
$srcInfo = getimagesize($src);//获取图片信息数组
$srcType = image_type_to_extension($srcInfo[2], false);//获取图片类型
$fun = 'imagecreatefrom' . $srcType;//由图片文件创建图像资源
$srcImage = $fun($src);
//创建缩略图资源
//$scale = $srcInfo[0] / $srcInfo[1];
//$height = $width / $scale;
$zoomImg = imagecreatetruecolor($width, $height);
//图像资源放到缩略图资源上
imagecopyresampled($zoomImg, $srcImage, 0, 0, 0, 0, $width, $height, $srcInfo[0], $srcInfo[1]);
//输出缩略图资源 $output = 'image' . $srcType;
$output($zoomImg, $dir. basename($src));
//销毁资源
imagedestroy($srcImage);
imagedestroy($zoomImg);
//删除原图
if($delsrc){
unlink($src);
}
}
上传图片并生成相关缩略图-PHP的更多相关文章
- Asp.Net 上传图片并生成高清晰缩略图
在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...
- Asp.Net 上传图片并生成高清晰缩略图(转)
在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...
- C#上传图片和生成缩略图以及图片预览
因工作需要,上传图片要增加MIME类型验证和生成较小尺寸的图片用于浏览.根据网上代码加以修改做出如下效果图: 前台代码如下: <html xmlns="http://www.w3.or ...
- C#上传图片同时生成缩略图,控制图片上传大小。
#region 上传图片生成缩略图 /// <summary> /// 上传图片 /// </summary> /// <param name="sender& ...
- PHP.24-TP框架商城应用实例-后台1-添加商品功能、钩子函数、在线编辑器、过滤XSS、上传图片并生成缩略图
添加商品功能 1.创建商品控制器[C] /www.test.com/shop/Admin/Controller/GoodsController.class.php <?php namespace ...
- MVC4 上传图片并生成缩略图
Views @using (Html.BeginForm("Create","img",FormMethod.Post, new { enctype = &qu ...
- C# webform上传图片并生成缩略图
其实里面写的很乱,包括修改文件名什么的都没有仔细去写,主要是想记录下缩略图生成的几种方式 ,大家明白就好! void UpImgs() { if (FileUpload1.HasFile) { str ...
- PHP一般情况下生成的缩略图都比较不理想
PHP用GD库生成高质量的缩略图片,PHP一般情况下生成的缩略图都比较不理想.今天试用PHP,GD库来生成缩略图.虽然并不100%完美.可是也应该可以满足缩略图的要求了.<?php $FILEN ...
- PHP 上传图片,生成水印,支持文字, gif, png
//admin_upfile.php <html> <meta http-equiv="Content-Type" content="text/html ...
随机推荐
- 【知识整理】惊现RecyclerView内部Bug???别急,我们慢慢解决它~
一.写在前面 这也是久违的一整个月没有写Blog,也是由于近期给妹纸找工作,各种坑蒙拐骗,然而都没卵用.额,广大朋友们,成都需要软件测试.线上运维.产品助理的伙伴,赶紧私聊我了.这妹纸,学习能力挺好, ...
- vuex所有核心概念完整解析State Getters Mutations Actions
vuex是解决vue组件和组件件相互通信而存在的,vue理解起来稍微复杂但一旦看懂择即为好用 安装: npm install --save vuex 引入 import Vuex from 'vuex ...
- sql还原(.mdf文件还原)
第一步: 把备份文件放到目录:C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA (默认)(这里用 MyDB.md ...
- [UWP]用Shape做动画
相对于WPF/Silverlight,UWP的动画系统可以说有大幅提高,不过本文无意深入讨论这些动画API,本文将介绍使用Shape做一些进度.等待方面的动画,除此之外也会介绍一些相关技巧. 1. 使 ...
- JDBC的批处理操作三种方式
SQL批处理是JDBC性能优化的重要武器,批处理的用法有三种. package lavasoft.jdbctest; import lavasoft.common.DBToolkit; import ...
- B树和B+树的总结
B树 为什么要B树 磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动.盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片旋转到指定位置以后,移动磁臂后开始进行数据的读写.那么这就存在 ...
- ClassLoader机制:一个类何时会被虚拟机初始化?
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 大家都知道Java程序被编译器编译成字节码文件保存在硬盘里,Java虚拟机在执行代码时首先要把编译后的字节码文件从硬盘加载到内存中,然后才 ...
- 石头剪刀布 R语言统计分析
关于石头剪刀布,做出了详细的分析,具体ppt见地址 http://files.cnblogs.com/files/GMGHZ971322/R%E8%AF%AD%E8%A8%80.pptx 16级电商三 ...
- jQuery – 鼠标经过(hover)事件的延时处理
一.关于鼠标hover事件及延时 鼠标经过事件为web页面上非常常见的事件之一.简单的hover可以用CSS :hover伪类实现,复杂点的用js. 一般情况下,我们是不对鼠标hover事件进行延时处 ...
- Spring 3整合Quartz 2实现手动设置定时任务:新增,修改,删除,暂停和恢复(附带源码)
摘要:在项目的管理功能中,对定时任务的管理有时会很常见.但一般定时任务配置都在xml中完成,包括cronExpression表达式,十分的方便.但是如果我的任务信息是保存在数据库的,想要动态的初始化, ...