/*

* 参数说明

* $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 上传图片的代码相关推荐

  1. PHP图片上传水印代码,php上传图片并打上透明水印的代码

    [www.citswd.com--热门资讯] php上传图片并打上透明水印的代码怎么做,以下是小编整理的php上传图片并打上透明水印的代码,供大家参考.就跟随百分网小编一起去了解下吧,想了解更多相关信 ...

  2. C#枚举类型用户标志位的代码

    在写代码之余,把写代码过程比较好的一些代码段收藏起来,下面的代码是关于C#枚举类型用户标志位的代码,应该能对各位朋友有用处. enum Mammalia {Bison = 1,Human = 2,Ma ...

  3. php上传图片大小判断,jQuery实现判断上传图片类型和大小的方法示例

    本文实例讲述了jQuery实现判断上传图片类型和大小的方法.分享给大家供大家参考,具体如下: 这里使用jQuery判断上传图片的类型和大小: 图片格式为: 图片大小为: $(function(){ v ...

  4. js实现上传图片类型+大小+尺寸验证

    图片类型+大小+尺寸验证 html代码: <input type="file" name="files" id="file" onch ...

  5. Java 泛型(generics)详解及代码示例、Java 类型通配符详解及代码示例

    Java 泛型(generics)详解及代码示例.Java 类型通配符详解及代码示例 - 概念 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制 ...

  6. [asp常用代码]文件上传代码

    调用实例: UploadDemo.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">& ...

  7. 移动端h5实现手机拍照上传图片,相册选择上传图片input type=file

    移动端h5实现手机拍照上传图片,相册选择上传图片input type=file 有不足或者不对的在下方留言,有不明白的也请在下方留言,虽然我不一定能看到,话不多说上代码,注释都写好了 <!doc ...

  8. vim代码格式化自动加空格_vim格式化代码实际上就是 缩进代码, 命令是等号=

    vim格式化代码实际上就是 "缩进代码", 命令是等号= 格式化就是 vim 根据 文件的类型, 自动的对代码进行 缩进 缩进的类型有多种, 都是用等号命令: = 全部格式化 : ...

  9. 修改vb6的编译器c2.exe使它可以输出汇编代码_xv6笔记-启动代码分析

    首先看xv6 commit的第一个makefile OBJS = main.o CC = i386-jos-elf-gcc LD = i386-jos-elf-ld OBJCOPY = i386-jo ...

  10. java代码分类_08 java代码块的概述和分类

    08.01_面向对象(代码块的概述和分类) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代 ...

最新文章

  1. hdoj1175 连连看(dfs+剪枝)
  2. C语言实现队列ADT(Queue ADT)接口COMP2521(附完整源码)
  3. “==”和“equals”
  4. .Net组件程序设计之线程、并发管理(二)
  5. z-index无效注意事项
  6. mysql top virt_linux top命令VIRT,RES,SHR,DATA的含义
  7. centos6.8自带mysql_CentOS6.8下MySQL数据库版本信息查看
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的人力资源管理系统
  9. 复合火焰探测传感器_智能消防水炮能够自动跟踪火焰吗?
  10. winfrom实现,斑马Gk888t打印机,连续打印二维码
  11. 新手入门笔记——linux常用命令总结
  12. win10 安装 hadoop 3.3.1报错 Unable to load native-hadoop library
  13. 彻底改变计算机用户名,提升电脑系统安全:如何修改电脑登录用户名以及密码呢?...
  14. Python实现自动录制虎牙直播
  15. 华为鸿蒙朱丹丹,周一围心疼老婆?朱丹二胎产后憔悴臃肿却忙复出:这一年太痛苦...
  16. 自己diy的一个简单的家居管理系统
  17. 机器学习算法——手动搭建决策树分类器(代码+作图)
  18. 嵌入式开发<串口调试工具>
  19. bitset的使用示例
  20. Java中的Dao是什么意思?

热门文章

  1. Back button implementation in Text reuse component GSTEXT
  2. cl_ibase_ibintx_buf buffer class
  3. What is the difference between BTD and Q35
  4. SAP BRF+ Interpretation Mode与Generation Mode
  5. RFC and session issue - why we should use DESTINATION NONE?
  6. SAP CRM里是如何检测一个BP是否存在的 - FM BP_CENTRALPERSON_GET
  7. Netweaver和CloudFoundry的服务器日志
  8. java python混合开发_Go+Python双语言混合开发
  9. 如何用linux登入数据库,Linux中MySQL数据库的使用①-----登录、数据库操作、表结构操作...
  10. amt630a芯片中文资料_甲基化芯片学习记录