php上传图片类型代码,php 上传图片的代码
/*
* 参数说明
* $max_file_size : 上传文件大小限制, 单位BYTE
* $destination_folder : 上传文件路径
* $watermark : 是否附加水印(1为加水印,其他为不加水印);
* http://www.jquerycn.cn
* 使用说明:
* 1. 将PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;号去掉,因为我们要用到GD库;
* 2. 将extension_dir =改为你的php_gd2.dll所在目录;
*/
// 上传文件类型列表
$uptypes = array (
'image/jpg',
'image/png',
'image/jpeg',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'
);
$max_file_size = 20000000; //上传文件大小限制,单位BYTE
$destination_folder = 'uploadimg/'; //上传文件路径
$watermark = 1; //是否附加水印(1为加水印,其他为不加水印);
$watertype = 1; //水印类型(1为文字,2为图片)
$waterposition = 1; //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
$waterstring = "http://www.jquerycn.cn/"; //水印字符串
$waterimg = "xplore.gif"; //水印图片
$imgpreview = 1; //是否生成预览图(1为生成,其他为不生成);
$imgpreviewsize = 1 / 2; //缩略图比例
?>
ZwelL图片上传程序
上传文件:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//判断是否有上传文件
if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {
$upfile = $_FILES['upfile'];
print_r($_FILES['upfile']);
$name = $upfilep['name']; //文件名
$type = $upfile['type']; //文件类型
$size = $upfile['size']; //文件大小
$tmp_name = $upfile['tmp_name']; //临时文件
$error = $upfile['error']; //出错原因
if ($max_file_size < $size) { //判断文件的大小
echo '上传文件太大';
exit ();
}
if (!in_arrar($type, $uptypes)) { //判断文件的类型
echo '上传文件类型不符' . $type;
exit ();
}
if (!file_exists($destination_folder)) {
mkdir($destination_folder);
}
if (file_exists("upload/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
$pinfo = pathinfo($name);
$ftype = $pinfo['extension'];
$destination = $destination_folder . time() . "." . $ftype;
if (file_exists($destination) && $overwrite != true) {
echo "同名的文件已经存在了";
exit ();
}
if (!move_uploaded_file($tmp_name, $destination)) {
echo "移动文件出错";
exit ();
}
$pinfo = pathinfo($destination);
$fname = $pinfo[basename];
echo " 已经成功上传
文件名: " . $destination_folder . $fname . "
";
echo " 宽度:" . $image_size[0];
echo " 长度:" . $image_size[1];
echo "
大小:" . $file["size"] . " bytes";
if ($watermark == 1) {
$iinfo = getimagesize($destination, $iinfo);
$nimage = imagecreatetruecolor($image_size[0], $image_size[1]);
$white = imagecolorallocate($nimage, 255, 255, 255);
$black = imagecolorallocate($nimage, 0, 0, 0);
$red = imagecolorallocate($nimage, 255, 0, 0);
imagefill($nimage, 0, 0, $white);
switch ($iinfo[2]) {
case 1 :
$simage = imagecreatefromgif($destination);
break;
case 2 :
$simage = imagecreatefromjpeg($destination);
break;
case 3 :
$simage = imagecreatefrompng($destination);
break;
case 6 :
$simage = imagecreatefromwbmp($destination);
break;
default :
die("不支持的文件类型");
exit;
}
imagecopy($nimage, $simage, 0, 0, 0, 0, $image_size[0], $image_size[1]);
imagefilledrectangle($nimage, 1, $image_size[1] - 15, 80, $image_size[1], $white);
switch ($watertype) {
case 1 : //加水印字符串
imagestring($nimage, 2, 3, $image_size[1] - 15, $waterstring, $black);
break;
case 2 : //加水印图片
$simage1 = imagecreatefromgif("xplore.gif");
imagecopy($nimage, $simage1, 0, 0, 0, 0, 85, 15);
imagedestroy($simage1);
break;
}
switch ($iinfo[2]) {
case 1 :
//imagegif($nimage, $destination);
imagejpeg($nimage, $destination);
break;
case 2 :
imagejpeg($nimage, $destination);
break;
case 3 :
imagepng($nimage, $destination);
break;
case 6 :
imagewbmp($nimage, $destination);
//imagejpeg($nimage, $destination);
break;
}
//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}
if ($imgpreview == 1) {
echo "
图片预览:
";
echo "";
}
}
}
?>
php上传图片类型代码,php 上传图片的代码相关推荐
- PHP图片上传水印代码,php上传图片并打上透明水印的代码
[www.citswd.com--热门资讯] php上传图片并打上透明水印的代码怎么做,以下是小编整理的php上传图片并打上透明水印的代码,供大家参考.就跟随百分网小编一起去了解下吧,想了解更多相关信 ...
- C#枚举类型用户标志位的代码
在写代码之余,把写代码过程比较好的一些代码段收藏起来,下面的代码是关于C#枚举类型用户标志位的代码,应该能对各位朋友有用处. enum Mammalia {Bison = 1,Human = 2,Ma ...
- php上传图片大小判断,jQuery实现判断上传图片类型和大小的方法示例
本文实例讲述了jQuery实现判断上传图片类型和大小的方法.分享给大家供大家参考,具体如下: 这里使用jQuery判断上传图片的类型和大小: 图片格式为: 图片大小为: $(function(){ v ...
- js实现上传图片类型+大小+尺寸验证
图片类型+大小+尺寸验证 html代码: <input type="file" name="files" id="file" onch ...
- Java 泛型(generics)详解及代码示例、Java 类型通配符详解及代码示例
Java 泛型(generics)详解及代码示例.Java 类型通配符详解及代码示例 - 概念 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制 ...
- [asp常用代码]文件上传代码
调用实例: UploadDemo.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">& ...
- 移动端h5实现手机拍照上传图片,相册选择上传图片input type=file
移动端h5实现手机拍照上传图片,相册选择上传图片input type=file 有不足或者不对的在下方留言,有不明白的也请在下方留言,虽然我不一定能看到,话不多说上代码,注释都写好了 <!doc ...
- vim代码格式化自动加空格_vim格式化代码实际上就是 缩进代码, 命令是等号=
vim格式化代码实际上就是 "缩进代码", 命令是等号= 格式化就是 vim 根据 文件的类型, 自动的对代码进行 缩进 缩进的类型有多种, 都是用等号命令: = 全部格式化 : ...
- 修改vb6的编译器c2.exe使它可以输出汇编代码_xv6笔记-启动代码分析
首先看xv6 commit的第一个makefile OBJS = main.o CC = i386-jos-elf-gcc LD = i386-jos-elf-ld OBJCOPY = i386-jo ...
- java代码分类_08 java代码块的概述和分类
08.01_面向对象(代码块的概述和分类) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代 ...
最新文章
- hdoj1175 连连看(dfs+剪枝)
- C语言实现队列ADT(Queue ADT)接口COMP2521(附完整源码)
- “==”和“equals”
- .Net组件程序设计之线程、并发管理(二)
- z-index无效注意事项
- mysql top virt_linux top命令VIRT,RES,SHR,DATA的含义
- centos6.8自带mysql_CentOS6.8下MySQL数据库版本信息查看
- 基于JAVA+SpringMVC+Mybatis+MYSQL的人力资源管理系统
- 复合火焰探测传感器_智能消防水炮能够自动跟踪火焰吗?
- winfrom实现,斑马Gk888t打印机,连续打印二维码
- 新手入门笔记——linux常用命令总结
- win10 安装 hadoop 3.3.1报错 Unable to load native-hadoop library
- 彻底改变计算机用户名,提升电脑系统安全:如何修改电脑登录用户名以及密码呢?...
- Python实现自动录制虎牙直播
- 华为鸿蒙朱丹丹,周一围心疼老婆?朱丹二胎产后憔悴臃肿却忙复出:这一年太痛苦...
- 自己diy的一个简单的家居管理系统
- 机器学习算法——手动搭建决策树分类器(代码+作图)
- 嵌入式开发<串口调试工具>
- bitset的使用示例
- Java中的Dao是什么意思?
热门文章
- Back button implementation in Text reuse component GSTEXT
- cl_ibase_ibintx_buf buffer class
- What is the difference between BTD and Q35
- SAP BRF+ Interpretation Mode与Generation Mode
- RFC and session issue - why we should use DESTINATION NONE?
- SAP CRM里是如何检测一个BP是否存在的 - FM BP_CENTRALPERSON_GET
- Netweaver和CloudFoundry的服务器日志
- java python混合开发_Go+Python双语言混合开发
- 如何用linux登入数据库,Linux中MySQL数据库的使用①-----登录、数据库操作、表结构操作...
- amt630a芯片中文资料_甲基化芯片学习记录