php上传图片模范代码

  1 [php] view plaincopyprint?
  2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  3
  4 <?php
  5 /******************************************************************************
  6
  7 参数说明:
  8 $max_file_size  : 上传文件大小限制, 单位BYTE
  9 $destination_folder : 上传文件路径
 10 $watermark   : 是否附加水印(1为加水印,其他为不加水印);
 11
 12 使用说明:
 13 1. 将PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;号去掉,因为我们要用到GD库;
 14 2. 将extension_dir =改为你的php_gd2.dll所在目录;
 15 ******************************************************************************/
 16
 17 //上传文件类型列表
 18 $uptypes=array(
 19     ‘image/jpg‘,
 20     ‘image/jpeg‘,
 21     ‘image/png‘,
 22     ‘image/pjpeg‘,
 23     ‘image/gif‘,
 24     ‘image/bmp‘,
 25     ‘image/x-png‘
 26 );
 27
 28 $max_file_size=2000000;     //上传文件大小限制, 单位BYTE
 29 $destination_folder="uploadimg/"; //上传文件路径
 30 $watermark=1;      //是否附加水印(1为加水印,其他为不加水印);
 31 $watertype=1;      //水印类型(1为文字,2为图片)
 32 $waterposition=1;     //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
 33 $waterstring="http://www.xplore.cn/";  //水印字符串
 34 $waterimg="xplore.gif";    //水印图片
 35 $imgpreview=1;      //是否生成预览图(1为生成,其他为不生成);
 36 $imgpreviewsize=1/2;    //缩略图比例
 37 ?>
 38 <html>
 39 <head>
 40 <title>ZwelL图片上传程序</title>
 41 <style type="text/css">
 42 <!--
 43 body
 44 {
 45      font-size: 9pt;
 46 }
 47 input
 48 {
 49      background-color: #66CCFF;
 50      border: 1px inset #CCCCCC;
 51 }
 52 -->
 53 </style>
 54 </head>
 55
 56 <body>
 57 <form enctype="multipart/form-data" method="post" name="upform">
 58   上传文件:
 59   <input name="upfile" type="file">
 60   <input type="submit" value="上传"><br>
 61   允许上传的文件类型为:<?=implode(‘, ‘,$uptypes)?>
 62 </form>
 63
 64 <?php
 65 if ($_SERVER[‘REQUEST_METHOD‘] == ‘POST‘)
 66 {
 67     if (!is_uploaded_file($_FILES["upfile"][tmp_name]))
 68     //是否存在文件
 69     {
 70          echo "图片不存在!";
 71          exit;
 72     }
 73
 74     $file = $_FILES["upfile"];
 75     if($max_file_size < $file["size"])
 76     //检查文件大小
 77     {
 78         echo "文件太大!";
 79         exit;
 80     }
 81
 82     if(!in_array($file["type"], $uptypes))
 83     //检查文件类型
 84     {
 85         echo "文件类型不符!".$file["type"];
 86         exit;
 87     }
 88
 89     if(!file_exists($destination_folder))
 90     {
 91         mkdir($destination_folder);
 92     }
 93
 94     $filename=$file["tmp_name"];
 95     $image_size = getimagesize($filename);
 96     $pinfo=pathinfo($file["name"]);
 97     $ftype=$pinfo[‘extension‘];
 98     $destination = $destination_folder.time().".".$ftype;
 99     if (file_exists($destination) && $overwrite != true)
100     {
101         echo "同名文件已经存在了";
102         exit;
103     }
104
105     if(!move_uploaded_file ($filename, $destination))
106     {
107         echo "移动文件出错";
108         exit;
109     }
110
111     $pinfo=pathinfo($destination);
112     $fname=$pinfo[basename];
113     echo " <font color=red>已经成功上传</font><br>文件名:  <font color=blue>".$destination_folder.$fname."</font><br>";
114     echo " 宽度:".$image_size[0];
115     echo " 长度:".$image_size[1];
116     echo "<br> 大小:".$file["size"]." bytes";
117
118     if($watermark==1)
119     {
120         $iinfo=getimagesize($destination,$iinfo);
121         $nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
122         $white=imagecolorallocate($nimage,255,255,255);
123         $black=imagecolorallocate($nimage,0,0,0);
124         $red=imagecolorallocate($nimage,255,0,0);
125         imagefill($nimage,0,0,$white);
126         switch ($iinfo[2])
127         {
128             case 1:
129             $simage =imagecreatefromgif($destination);
130             break;
131             case 2:
132             $simage =imagecreatefromjpeg($destination);
133             break;
134             case 3:
135             $simage =imagecreatefrompng($destination);
136             break;
137             case 6:
138             $simage =imagecreatefromwbmp($destination);
139             break;
140             default:
141             die("不支持的文件类型");
142             exit;
143         }
144
145         imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
146         imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);
147
148         switch($watertype)
149         {
150             case 1:   //加水印字符串
151             imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
152             break;
153             case 2:   //加水印图片
154             $simage1 =imagecreatefromgif("xplore.gif");
155             imagecopy($nimage,$simage1,0,0,0,0,85,15);
156             imagedestroy($simage1);
157             break;
158         }
159
160         switch ($iinfo[2])
161         {
162             case 1:
163             //imagegif($nimage, $destination);
164             imagejpeg($nimage, $destination);
165             break;
166             case 2:
167             imagejpeg($nimage, $destination);
168             break;
169             case 3:
170             imagepng($nimage, $destination);
171             break;
172             case 6:
173             imagewbmp($nimage, $destination);
174             //imagejpeg($nimage, $destination);
175             break;
176         }
177
178         //覆盖原上传文件
179         imagedestroy($nimage);
180         imagedestroy($simage);
181     }
182
183     if($imgpreview==1)
184     {
185     echo "<br>图片预览:<br>";
186     echo "<img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);
187     echo " alt=\"图片预览:\r文件名:".$destination."\r上传时间:\">";
188     }
189 }
190 ?>
191 </body>
192 </html>  

http://blog.csdn.net/xianglunxi/article/details/9359441

时间: 2024-12-08 16:21:48

php上传图片模范代码的相关文章

kindeditor的上传图片简单代码

原文:kindeditor的上传图片简单代码 源代码下载地址:http://www.zuidaima.com/share/1550463646698496.htm 通过kindeditor的examples转换为maven工程,依赖包在pom中,不过有个json-example.jar在maven repository中找不到,所以只好自己下载了 地址: http://code.google.com/p/kindeditor/downloads/list http://code.google.c

微信JSSDK上传图片,代码为上传单张图

HTML端 //这里需要注意的是,千万不要把onclick放到input file上 <div class="load_box"> <img src="ajax返回显示的图片,初始化可以设置个默认的URL" alt="" id="img1" class="star" style="height:142px;" onclick="chooseImage('fil

YII上传图片完整代码

//记住哦,还需要引人模板 <?php namespace app\controllers; use yii\web\Controller; use yii\web\UploadedFile; use app\models\Upload; //上传图片 public function actionUploada () { $model = new Upload(); $uploadSuccessPath = ""; if (Yii::$app->request->is

如果遇到php5.6 上传图片error代码为6 或者 报错“PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0&quot;如何解决

问题:再利用webuploader上传图片的时候发现,报错,打印了$_FILES["file"]["error"] 发现是6,找不到临时文件夹: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $_FILES['file']['error']有以下几种类型: 1.UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功.   2.UPLOAD_ERR_INI_SIZE 其值为 1,上传的文件

上传图片功能

转载:http://blog.sina.com.cn/s/blog_4c925dca0101kdar.html 上传图片页面代码: 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ taglib prefix ="c" uri="http://java.sun.com/jsp/jstl/core&

ajax异步上传图片三种方案

转自:http://www.jb51.net/article/51180.htm 注:自己尝试了前两种,都可用: 目前常用的异步文件上传功能有几种,比较多见的如使用iframe框架形式,ajax功能效果,以及flash+php功能,下面介绍ajax与iframe实现异步文件上传的功能的例子. 方法一,利用jquery ajaxfileupload.js实现文件上传 其实就是实现无刷新式的文件上传.可采用IFRAME文件上传原理.实际上在用PHP上传文件时...只能用$_FILES形式,但是若我

PHP.25-TP框架商城应用实例-后台1-添加商品功能、钩子函数、在线编辑器、过滤XSS、上传图片并生成缩略图

添加商品功能 1.创建商品控制器[C] /www.test.com/shop/Admin/Controller/GoodsController.class.php <?php namespace Admin\Controller; use Think\Controller; //后台添加商品功能控制器 class GoodsController extends Controller { //显示和处理表单 public function add() { //判断用户是否提交了表单(如果提交了,就

关于kindeditor-4.1.7的上传图片使用

基于jfinal框架的kindeditor+freemarker前端编辑器开发 需要注意的是由于用到freemarker反馈地址,所以必须把初始化kindeditor代码写入到html页面,否则上传图片路径取不到当前系统地址. 上传图片可右击选择图片属性,更改图片的大小和在文章中的样式. html的代码(关键代码): <script type="text/javascript" charset="utf-8" src="${base}/resourc

上传图片-AFN

上传图片分为两种 :一种是只上传图片,一种是即上传图片又上传文字. 一.只上传图片,代码如下 - (void)httpRequestUploadMeHeadImageWithFile:(UIImage *)file UUID:(NSString *)UUID error:(void (^)(NSError *))err{ NSString *url = [NSString stringWithFormat:@"%@图片上传地址"]; NSDictionary *parametes; i