分享一个php图片上传代码,如下:
- <?php
- $uptypes=array('image/jpg', //上传文件类型列表
- 'image/jpeg',
- 'image/png',
- 'image/pjpeg',
- 'image/gif',
- 'image/bmp',
- 'application/x-shockwave-flash',
- 'image/x-png');
- $max_file_size=5000000; //上传文件大小限制, 单位BYTE
- $destination_folder="upload/"; //上传文件路径
- $watermark=0; //是否附加水印(1为加水印,其他为不加水印);
- $watertype=1; //水印类型(1为文字,2为图片)
- $waterposition=1; //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
- $waterstring="newphp.site.cz"; //水印字符串
- $waterimg="xplore.gif"; //水印图片
- $imgpreview=1; //是否生成预览图(1为生成,其他为不生成);
- $imgpreviewsize=1/2; //缩略图比例
- ?>
- <html>
- <head>
- <title>PHP图片上传 - www.jbxue.com</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <style type="text/css">body,td{font-family:tahoma,verdana,arial;font-size:11px;line-height:15px;background-color:white;color:#666666;margin-left:20px;}
- strong{font-size:12px;}
- a:link{color:#0066CC;}
- a:hover{color:#FF6600;}
- a:visited{color:#003366;}
- a:active{color:#9DCC00;}
- table.itable{}
- td.irows{height:20px;background:url("index.php?i=dots") repeat-x bottom}</style>
- </head>
- <body>
- <center><form enctype="multipart/form-data" method="post" name="upform">
- 上传文件: <br><br><br>
- <input name="upfile" type="file" style="width:200;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff" size="17">
- <input type="submit" value="上传" style="width:30;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff" size="17"><br><br><br>
- 允许上传的文件类型为:jpg|jpeg|png|pjpeg|gif|bmp|x-png|swf <br><br>
- <a href="index.php">返回</a>
- </form>
- <?php
- if ($_SERVER['REQUEST_METHOD'] == 'POST')
- {
- if (!is_uploaded_file($_FILES["upfile"][tmp_name]))
- //是否存在文件
- {
- echo "<font color='red'>文件不存在!</font>";
- exit;
- }
- $file = $_FILES["upfile"];
- if($max_file_size < $file["size"])
- //检查文件大小
- {
- echo "<font color='red'>文件太大!</font>";
- exit;
- }
- if(!in_array($file["type"], $uptypes))
- //检查文件类型
- { // www.jbxue.com
- echo "<font color='red'>只能上传图像文件或Flash!</font>";
- exit;
- }
- if(!file_exists($destination_folder))
- mkdir($destination_folder);
- $filename=$file["tmp_name"];
- $image_size = getimagesize($filename);
- $pinfo=pathinfo($file["name"]);
- $ftype=$pinfo[extension];
- $destination = $destination_folder.time().".".$ftype;
- if (file_exists($destination) && $overwrite != true)
- {
- echo "<font color='red'>同名文件已经存在了!</a>";
- exit;
- }
- if(!move_uploaded_file ($filename, $destination))
- {
- echo "<font color='red'>移动文件出错!</a>";
- exit;
- }
- $pinfo=pathinfo($destination);
- $fname=$pinfo[basename];
- echo " <font color=red>已经成功上传</font><br>文件名: <font color=blue>".$destination_folder.$fname."</font><br>";
- echo " 宽度:".$image_size[0];
- echo " 长度:".$image_size[1];
- 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("<font color='red'>不能上传此类型文件!</a>");
- 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;
- } //编辑: www.jbxue.com
- 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 "<br>图片预览:<br>";
- echo "<a href=/"".$destination."/" target='_blank'><img src=/"".$destination."/" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);
- echo " alt=/"图片预览:/r文件名:".$destination."/r上传时间:/" border='0'></a>";
- }
- }
- ?>
- </center>
- </body>
- </html>
相关推荐
本文将详细讲解如何实现一个简单的图片上传功能,以标题中的"php图片上传源代码"为例,结合描述中提及的实际检测效果良好的特点,进行深入探讨。 首先,我们需要了解PHP处理图片上传的基本步骤: 1. **表单创建**...
《PHP编程一百例代码》是针对初学者设计的学习资源,涵盖了PHP编程的基础知识和常见应用场景。这个压缩包包含了100个PHP编程实例,旨在帮助新手逐步掌握PHP语言的核心概念和技能。 首先,PHP(Hypertext ...
在“PHP新手入门+代码100例”这个教程中,你将全面接触PHP的基础概念和实践操作,通过100个实例深入理解其核心功能。 首先,你需要了解PHP的基本结构,包括PHP的开始和结束标记(<?php 和 ?>),以及如何在HTML文件...
在IT行业中,PHP无刷新上传代码是一种常见的网页交互技术,它允许用户在不重新加载整个页面的情况下上传文件,提供更好的用户体验。这种技术主要基于Ajax(Asynchronous JavaScript and XML)实现,尽管现在XML在...
在PHP开发中,处理图像是一项常见的任务,特别是当你需要上传用户提供的大尺寸图片时,为了节省服务器存储空间和提高网页加载速度,通常需要对图片进行缩放。本篇将详细介绍如何使用PHP实现自动缩小图片的功能。 ...
2. **后端处理**:在PHP(这里以upload.php为例)中接收上传的文件。通过$_FILES全局变量,我们可以访问到所有上传的文件信息。我们需要对每个文件进行验证,如检查文件类型、大小等,然后移动到服务器的指定目录。 ...
"图片,文件批量上传源代码"正是针对这一需求提供的解决方案。它允许用户一次性上传多个图片或文件,而不是逐个进行,极大地优化了用户体验。 批量上传通常涉及到的技术包括前端的多文件选择、文件预览、进度条显示...
本文将深入探讨如何使用OkHttp实现多图片上传,并提供相关的服务器端处理代码。首先,我们需要理解OkHttp的工作原理,然后我们会讨论多文件上传的策略和实现细节。 ### OkHttp 基础 OkHttp 是一个由 Square 公司...
在互联网应用中,图片上传功能是不可或缺的一部分,尤其在分类信息网站如58同城、赶集网上,用户需要便捷地上传图片以展示商品或服务。`SWFUpload` 是一个广泛使用的Flash组件,它允许在网页中实现异步多文件上传,...
"php upload文件上传代码 jquery ajax无刷新"这个主题涵盖了如何利用这些技术实现文件上传,同时保持页面的无刷新特性。让我们深入探讨一下这个过程。 首先,我们要明白文件上传的基本原理。在HTML中,`...
这段PHP代码会将上传的文件保存到`uploads/`目录下,并检查文件是否已存在,以及移动上传的临时文件到目标位置。确保在执行此操作前,服务器有足够的权限写入指定目录。 以上就是Android客户端拍照并上传到PHP...
在本例中,AjaxSubmit将处理图片文件的上传,而不会导致页面重载。 1. **HTML结构**: 创建一个包含文件输入字段的表单,例如: ```html 上传" /> ``` 2. **jQuery和AjaxSubmit**: 引入jQuery库和...
在Web开发中,"代码例子上传"通常是指在网站上实现用户能够上传代码片段或整个项目的功能。这个功能对于教学、分享代码示例或者协作编程非常有用。在本文中,我们将深入探讨如何实现这样一个功能,主要关注前端和...
**PHP实例代码编程一百例详解** 在Web开发领域,PHP是一种广泛应用的服务器端脚本语言,尤其适合于动态网站的构建。"PHP实例代码编程一百例"是一个专门为初学者和进阶者准备的学习资源,它涵盖了PHP编程的多个重要...
本资源是一个关于如何使用WebUploader实现单例、多例上传图片以及图片回显的演示示例。 在Web开发中,图片上传是一项常见的需求,而WebUploader提供了一套完善的解决方案。首先,我们需要了解WebUploader的基本用法...
通过细致的代码示例,向读者展示了如何通过JavaScript的异步请求(AJAX)与后端PHP脚本交互来处理图片上传的过程。在本示例中,前端使用jQuery处理用户上传图片的请求,然后将图片文件封装在FormData对象中通过AJAX...
"PHP程序设计经典300例"是一个汇集了多种PHP编程技巧和实用代码的资源库,对于初学者和经验丰富的开发者来说都是宝贵的参考资料。这份PDF文档提供了300个不同的PHP实例,旨在帮助读者深入理解和掌握PHP编程的核心...
以PHP为例,你需要创建一个能接收文件上传的接口。在PHP中,可以使用`$_FILES`全局变量来获取上传的文件信息。以下是一个简单的PHP服务端接收图片上传的示例: ```php <?php $target_dir = "uploads/"; // 图片保存...
《PHP程序设计经典300例源代码》是学习PHP编程的重要参考资料,它包含了丰富的实践案例,涵盖了PHP语言的基础到高级应用。通过这些实例,学习者可以深入理解PHP语法、函数、面向对象编程以及与其他技术(如MySQL...
在本例中,我们可能需要对上传的大图片进行等比例压缩,以保持原始图像的比例,同时降低其大小。这可以通过调整图片的宽度和高度,然后应用适当的压缩算法来实现。 3. **图片显示**: 在页面上显示上传的图片,...