`

PHP图片上传代码一例

    博客分类:
  • php
 
阅读更多

分享一个php图片上传代码,如下:

 
  1. <?php  
  2. $uptypes=array('image/jpg'//上传文件类型列表  
  3. 'image/jpeg',  
  4. 'image/png',  
  5. 'image/pjpeg',  
  6. 'image/gif',  
  7. 'image/bmp',  
  8. 'application/x-shockwave-flash',  
  9. 'image/x-png');   
  10. $max_file_size=5000000; //上传文件大小限制, 单位BYTE  
  11. $destination_folder="upload/"//上传文件路径  
  12. $watermark=0; //是否附加水印(1为加水印,其他为不加水印);  
  13. $watertype=1; //水印类型(1为文字,2为图片)  
  14. $waterposition=1; //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);  
  15. $waterstring="newphp.site.cz"//水印字符串  
  16. $waterimg="xplore.gif"//水印图片  
  17. $imgpreview=1; //是否生成预览图(1为生成,其他为不生成);  
  18. $imgpreviewsize=1/2; //缩略图比例  
  19. ?>  
  20. <html>  
  21. <head>  
  22. <title>PHP图片上传 - www.jbxue.com</title>  
  23. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
  24. <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;}   
  25. strong{font-size:12px;}  
  26. a:link{color:#0066CC;}  
  27. a:hover{color:#FF6600;}  
  28. a:visited{color:#003366;}  
  29. a:active{color:#9DCC00;}  
  30. table.itable{}  
  31. td.irows{height:20px;background:url("index.php?i=dots") repeat-x bottom}</style>  
  32. </head>  
  33. <body>  
  34. <center><form enctype="multipart/form-data" method="post" name="upform">  
  35. 上传文件: <br><br><br>  
  36. <input name="upfile" type="file" style="width:200;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff" size="17">  
  37. <input type="submit" value="上传" style="width:30;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff" size="17"><br><br><br>  
  38. 允许上传的文件类型为:jpg|jpeg|png|pjpeg|gif|bmp|x-png|swf <br><br>  
  39. <a href="index.php">返回</a>  
  40. </form>  
  41. <?php  
  42. if ($_SERVER['REQUEST_METHOD'] == 'POST')  
  43. {  
  44. if (!is_uploaded_file($_FILES["upfile"][tmp_name]))  
  45. //是否存在文件  
  46. {   
  47. echo "<font color='red'>文件不存在!</font>";  
  48. exit;  
  49. }  
  50.   
  51. $file = $_FILES["upfile"];  
  52. if($max_file_size < $file["size"])  
  53. //检查文件大小  
  54. {  
  55. echo "<font color='red'>文件太大!</font>";  
  56. exit;  
  57. }  
  58.   
  59. if(!in_array($file["type"], $uptypes))  
  60. //检查文件类型  
  61. // www.jbxue.com  
  62. echo "<font color='red'>只能上传图像文件或Flash!</font>";  
  63. exit;   
  64. }  
  65.   
  66. if(!file_exists($destination_folder))  
  67. mkdir($destination_folder);  
  68.   
  69. $filename=$file["tmp_name"];  
  70. $image_size = getimagesize($filename);   
  71. $pinfo=pathinfo($file["name"]);  
  72. $ftype=$pinfo[extension];  
  73. $destination = $destination_folder.time().".".$ftype;  
  74. if (file_exists($destination) && $overwrite != true)  
  75.   
  76. {  
  77. echo "<font color='red'>同名文件已经存在了!</a>";  
  78. exit;  
  79. }  
  80.   
  81. if(!move_uploaded_file ($filename$destination))  
  82. {  
  83. echo "<font color='red'>移动文件出错!</a>";  
  84. exit;  
  85. }  
  86.   
  87. $pinfo=pathinfo($destination);  
  88. $fname=$pinfo[basename];  
  89. echo " <font color=red>已经成功上传</font><br>文件名: <font color=blue>".$destination_folder.$fname."</font><br>";  
  90. echo " 宽度:".$image_size[0];  
  91. echo " 长度:".$image_size[1];  
  92. if($watermark==1)  
  93. {  
  94. $iinfo=getimagesize($destination,$iinfo);  
  95. $nimage=imagecreatetruecolor($image_size[0],$image_size[1]);  
  96. $white=imagecolorallocate($nimage,255,255,255);  
  97. $black=imagecolorallocate($nimage,0,0,0);  
  98. $red=imagecolorallocate($nimage,255,0,0);  
  99. imagefill($nimage,0,0,$white);  
  100.   
  101. switch ($iinfo[2])  
  102. {  
  103. case 1:  
  104. $simage =imagecreatefromgif($destination);  
  105. break;  
  106. case 2:  
  107. $simage =imagecreatefromjpeg($destination);  
  108. break;  
  109. case 3:  
  110. $simage =imagecreatefrompng($destination);  
  111. break;  
  112. case 6:  
  113. $simage =imagecreatefromwbmp($destination);  
  114. break;  
  115. default:  
  116. die("<font color='red'>不能上传此类型文件!</a>");  
  117. exit;  
  118. }  
  119.   
  120. imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);  
  121. imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);  
  122.   
  123. switch($watertype)  
  124. {  
  125. case 1: //加水印字符串  
  126. imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);  
  127. break;  
  128. case 2: //加水印图片  
  129. $simage1 =imagecreatefromgif("xplore.gif");  
  130. imagecopy($nimage,$simage1,0,0,0,0,85,15);  
  131. imagedestroy($simage1);  
  132. break;  
  133. //编辑: www.jbxue.com  
  134. switch ($iinfo[2])  
  135. {  
  136. case 1:  
  137. //imagegif($nimage, $destination);  
  138.   
  139. imagejpeg($nimage$destination);  
  140. break;  
  141. case 2:  
  142. imagejpeg($nimage$destination);  
  143. break;  
  144. case 3:  
  145. imagepng($nimage$destination);  
  146. break;  
  147. case 6:  
  148. imagewbmp($nimage$destination);  
  149. //imagejpeg($nimage, $destination);  
  150. break;  
  151. }  
  152.   
  153. //覆盖原上传文件  
  154. imagedestroy($nimage);  
  155. imagedestroy($simage);  
  156. }  
  157.   
  158. if($imgpreview==1)  
  159. {  
  160. echo "<br>图片预览:<br>";  
  161. echo "<a href=/"".$destination."/" target='_blank'><img src=/"".$destination."/" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);  
  162. echo " alt=/"图片预览:/r文件名:".$destination."/r上传时间:/" border='0'></a>";  
  163. }  
  164. }  
  165. ?>  
  166. </center>  
  167. </body>  
  168. </html>  
分享到:
评论

相关推荐

    php图片上传源代码

    本文将详细讲解如何实现一个简单的图片上传功能,以标题中的"php图片上传源代码"为例,结合描述中提及的实际检测效果良好的特点,进行深入探讨。 首先,我们需要了解PHP处理图片上传的基本步骤: 1. **表单创建**...

    php编程一百例代码

    《PHP编程一百例代码》是针对初学者设计的学习资源,涵盖了PHP编程的基础知识和常见应用场景。这个压缩包包含了100个PHP编程实例,旨在帮助新手逐步掌握PHP语言的核心概念和技能。 首先,PHP(Hypertext ...

    PHP新手入门+代码100例

    在“PHP新手入门+代码100例”这个教程中,你将全面接触PHP的基础概念和实践操作,通过100个实例深入理解其核心功能。 首先,你需要了解PHP的基本结构,包括PHP的开始和结束标记(&lt;?php 和 ?&gt;),以及如何在HTML文件...

    php无刷新上传代码

    在IT行业中,PHP无刷新上传代码是一种常见的网页交互技术,它允许用户在不重新加载整个页面的情况下上传文件,提供更好的用户体验。这种技术主要基于Ajax(Asynchronous JavaScript and XML)实现,尽管现在XML在...

    PHP自动缩小图片代码

    在PHP开发中,处理图像是一项常见的任务,特别是当你需要上传用户提供的大尺寸图片时,为了节省服务器存储空间和提高网页加载速度,通常需要对图片进行缩放。本篇将详细介绍如何使用PHP实现自动缩小图片的功能。 ...

    PHP-多图片上传,分页显示

    2. **后端处理**:在PHP(这里以upload.php为例)中接收上传的文件。通过$_FILES全局变量,我们可以访问到所有上传的文件信息。我们需要对每个文件进行验证,如检查文件类型、大小等,然后移动到服务器的指定目录。 ...

    图片,文件批量上传源代码

    "图片,文件批量上传源代码"正是针对这一需求提供的解决方案。它允许用户一次性上传多个图片或文件,而不是逐个进行,极大地优化了用户体验。 批量上传通常涉及到的技术包括前端的多文件选择、文件预览、进度条显示...

    okHttp 多图片上传(含服务器代码)--来自CSDN

    本文将深入探讨如何使用OkHttp实现多图片上传,并提供相关的服务器端处理代码。首先,我们需要理解OkHttp的工作原理,然后我们会讨论多文件上传的策略和实现细节。 ### OkHttp 基础 OkHttp 是一个由 Square 公司...

    swfupload仿58赶集图片上传的小例子

    在互联网应用中,图片上传功能是不可或缺的一部分,尤其在分类信息网站如58同城、赶集网上,用户需要便捷地上传图片以展示商品或服务。`SWFUpload` 是一个广泛使用的Flash组件,它允许在网页中实现异步多文件上传,...

    php upload文件上传代码 jquery ajax无刷新

    "php upload文件上传代码 jquery ajax无刷新"这个主题涵盖了如何利用这些技术实现文件上传,同时保持页面的无刷新特性。让我们深入探讨一下这个过程。 首先,我们要明白文件上传的基本原理。在HTML中,`...

    android 拍照后上传到php服务器的代码

    这段PHP代码会将上传的文件保存到`uploads/`目录下,并检查文件是否已存在,以及移动上传的临时文件到目标位置。确保在执行此操作前,服务器有足够的权限写入指定目录。 以上就是Android客户端拍照并上传到PHP...

    php结合jquery异步上传图片(ajaxSubmit)

    在本例中,AjaxSubmit将处理图片文件的上传,而不会导致页面重载。 1. **HTML结构**: 创建一个包含文件输入字段的表单,例如: ```html 上传" /&gt; ``` 2. **jQuery和AjaxSubmit**: 引入jQuery库和...

    web代码例子上传

    在Web开发中,"代码例子上传"通常是指在网站上实现用户能够上传代码片段或整个项目的功能。这个功能对于教学、分享代码示例或者协作编程非常有用。在本文中,我们将深入探讨如何实现这样一个功能,主要关注前端和...

    PHP实例代码[编程一百例]

    **PHP实例代码编程一百例详解** 在Web开发领域,PHP是一种广泛应用的服务器端脚本语言,尤其适合于动态网站的构建。"PHP实例代码编程一百例"是一个专门为初学者和进阶者准备的学习资源,它涵盖了PHP编程的多个重要...

    jQuery加PHP实现图片上传并提交的示例代码

    通过细致的代码示例,向读者展示了如何通过JavaScript的异步请求(AJAX)与后端PHP脚本交互来处理图片上传的过程。在本示例中,前端使用jQuery处理用户上传图片的请求,然后将图片文件封装在FormData对象中通过AJAX...

    php程序设计经典300例 pdf 下载(代码,无书籍)

    "PHP程序设计经典300例"是一个汇集了多种PHP编程技巧和实用代码的资源库,对于初学者和经验丰富的开发者来说都是宝贵的参考资料。这份PDF文档提供了300个不同的PHP实例,旨在帮助读者深入理解和掌握PHP编程的核心...

    采用webuploader插件实现单例、多例上传图片,图片回显等,-- demo资源

    本资源是一个关于如何使用WebUploader实现单例、多例上传图片以及图片回显的演示示例。 在Web开发中,图片上传是一项常见的需求,而WebUploader提供了一套完善的解决方案。首先,我们需要了解WebUploader的基本用法...

    微信小程序开发(二)图片上传+服务端接收详解

    以PHP为例,你需要创建一个能接收文件上传的接口。在PHP中,可以使用`$_FILES`全局变量来获取上传的文件信息。以下是一个简单的PHP服务端接收图片上传的示例: ```php &lt;?php $target_dir = "uploads/"; // 图片保存...

    PHP程序设计经典300例源代码

    《PHP程序设计经典300例源代码》是学习PHP编程的重要参考资料,它包含了丰富的实践案例,涵盖了PHP语言的基础到高级应用。通过这些实例,学习者可以深入理解PHP语法、函数、面向对象编程以及与其他技术(如MySQL...

    图片上传、压缩、裁剪

    在本例中,我们可能需要对上传的大图片进行等比例压缩,以保持原始图像的比例,同时降低其大小。这可以通过调整图片的宽度和高度,然后应用适当的压缩算法来实现。 3. **图片显示**: 在页面上显示上传的图片,...

Global site tag (gtag.js) - Google Analytics