没有样式,没有淘宝的那种放大截取大小的效果,只是实现了图片上传的功能。 图片超过100k,会出现内部错误服务器错误,需要手动更改配置文件里的MaxRequestLen属性。 下面粘上代码: 1 ? php 2 /* ********************************************************
没有样式,没有淘宝的那种放大截取大小的效果,只是实现了图片上传的功能。
图片超过100k,会出现内部错误服务器错误,需要手动更改配置文件里的MaxRequestLen属性。
下面粘上代码:
<span> 1</span> <span>php </span><span> 2</span> <span>/*</span><span>***************************************************************************** </span><span> 3</span> <span> 4</span> <span>参数说明: </span><span> 5</span> <span>$max_file_size : 上传文件大小限制, 单位BYTE </span><span> 6</span> <span>$destination_folder : 上传文件路径 </span><span> 7</span> <span>$watermark : 是否附加水印(1为加水印,其他为不加水印); </span><span> 8</span> <span> 9</span> <span>*****************************************************************************</span><span>*/</span> <span> 10</span> <span> 11</span> <span>//</span><span>上传文件类型列表</span> <span> 12</span> <span>$uptypes</span>=<span>array</span><span>( </span><span> 13</span> 'image/jpg', <span> 14</span> 'image/jpeg', <span> 15</span> 'image/png', <span> 16</span> 'image/pjpeg', <span> 17</span> 'image/gif', <span> 18</span> 'image/bmp', <span> 19</span> 'image/x-png' <span> 20</span> <span>); </span><span> 21</span> <span> 22</span> <span>$max_file_size</span>=102400; <span>//</span><span>上传文件大小限制, 单位BYTE</span> <span> 23</span> <span>$destination_folder</span>="uploadimg/"; <span>//</span><span>上传文件路径</span> <span> 24</span> <span>$watermark</span>=1; <span>//</span><span>是否附加水印(1为加水印,其他为不加水印);</span> <span> 25</span> <span>$watertype</span>=1; <span>//</span><span>水印类型(1为文字,2为图片)</span> <span> 26</span> <span>$waterposition</span>=1; <span>//</span><span>水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);</span> <span> 27</span> <span>$waterstring</span>="http://www.xplore.cn/"; <span>//</span><span>水印字符串</span> <span> 28</span> <span>$waterimg</span>="xplore.gif"; <span>//</span><span>水印图片</span> <span> 29</span> <span>$imgpreview</span>=1; <span>//</span><span>是否生成预览图(1为生成,其他为不生成);</span> <span> 30</span> <span>$imgpreviewsize</span>=1/2; <span>//</span><span>缩略图比例</span> <span> 31</span> ?> <span> 32</span> <span> 33</span> <span> 34</span> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <span> 35</span> <title>php上传图片</title> <span> 36</span> <span> 37</span> <span> 38</span> <span> 39</span> <span> 40</span>47 48 php 49 if ($_SERVER['REQUEST_METHOD'] == 'POST') 50 { 51 $file = $_FILES["upfile"]; 52 if($max_file_size >= $file["size"] && in_array($file["type"], $uptypes) && file_exists($destination_folder) && is_uploaded_file($_FILES["upfile"]['tmp_name'])) 53 { 54 55 $filename=$file["tmp_name"];//图片的临时名称 56 $image_size = getimagesize($filename);//图片大小 57 $pinfo=pathinfo($file["name"]);//返回包含dirname,basename 和 extension的url 58 $ftype=$pinfo['extension'];//图片类型,后缀名 59 $destination = $destination_folder.time().".".$ftype;//目标图片的名称 60 if (file_exists($destination) && $overwrite != true) 61 { 62 echo "同名文件已经存在了"; 63 exit; 64 } 65 66 if(!move_uploaded_file ($filename, $destination)) 67 { 68 echo "移动文件出错"; 69 exit; 70 } 71 72 $pinfo=pathinfo($destination);//返回包含dirname,basename 和 extension的url 73 $fname=$pinfo['basename'];//目标图片的名称包含后缀名 74 echo " 已经成功上传
文件名: ".$destination_folder.$fname."
"; 75 echo " 宽度:".$image_size[0];//宽 76 echo " 长度:".$image_size[1];//高 77 echo "
大小:".$file["size"]." bytes";//大小 78 79 if($watermark==1) 80 { 81 $iinfo=getimagesize($destination,$iinfo); 82 $nimage=imagecreatetruecolor($image_size[0],$image_size[1]);//新建一个真彩色图像 83 $white=imagecolorallocate($nimage,255,255,255);//为一幅图像分配颜色,黑色 84 $black=imagecolorallocate($nimage,0,0,0);//为一幅图像分配颜色,白色 85 $red=imagecolorallocate($nimage,255,0,0);//为一幅图像分配颜色 86 imagefill($nimage,0,0,$white);//填充,0,0代表坐标 87 switch ($iinfo[2]) 88 { 89 case 1: 90 $simage =imagecreatefromgif($destination);//由文件或URL创建一个新gif图象 91 break; 92 case 2: 93 $simage =imagecreatefromjpeg($destination);//由文件或URL创建一个新jpeg图象 94 break; 95 case 3: 96 $simage =imagecreatefrompng($destination);//由文件或URL创建一个新png图象 97 break; 98 case 6: 99 $simage =imagecreatefromwbmp($destination);//由文件或URL创建一个新bmp图象 100 break; 101 default: 102 die("不支持的文件类型"); 103 exit; 104 } 105 106 imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]); 107 imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white); 108 109 switch($watertype) 110 { 111 case 1: //加水印字符串 112 imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);//col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处 113 break; 114 case 2: //加水印图片 115 $simage1 =imagecreatefromgif("xplore.gif");//由文件或URL创建一个新图象 116 imagecopy($nimage,$simage1,0,0,0,0,85,15);//拷贝图像的一部分 117 imagedestroy($simage1);//销毁一图像 118 break; 119 } 120 121 switch ($iinfo[2]) 122 { 123 //输出图象到浏览器或文件 124 case 1: 125 //imagegif($nimage, $destination); 126 imagejpeg($nimage, $destination); 127 break; 128 case 2: 129 imagejpeg($nimage, $destination); 130 break; 131 case 3: 132 imagepng($nimage, $destination); 133 break; 134 case 6: 135 imagewbmp($nimage, $destination); 136 //imagejpeg($nimage, $destination); 137 break; 138 } 139 140 //覆盖原上传文件 141 imagedestroy($nimage); 142 imagedestroy($simage); 143 } 144 145 if($imgpreview==1) 146 { 147 echo "
图片预览:
"; 148 echo "
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
如何修复KB5055612无法在Windows 10中安装?
4 周前ByDDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前By尊渡假赌尊渡假赌尊渡假赌
<🎜>:种植花园 - 完整的突变指南
3 周前ByDDD
北端:融合系统,解释
4 周前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。