设为首页 收藏本站
查看: 761|回复: 0

[经验分享] php编程文件上传代码

[复制链接]

尚未签到

发表于 2015-11-17 12:10:08 | 显示全部楼层 |阅读模式
<html>  
<head>
<meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; />  
<title>图片上传程序</title>  
<?php  
//上传文件类型列表  
$uptypes=array(  
'image/jpg',  
'image/jpeg',  
'image/png',  
'image/gif',  
'image/bmp',   
'image/pjpeg',
$max_file_size=20000;     //上传文件大小限制, 单位BYTE  
$destination_folder=&quot;uploadimg/&quot;; //上传文件路径  
$watermark=1;      //是否附加水印(1为加水印,其他为不加水印);  
$watertype=1;      //水印类型(1为文字,2为图片)  
$waterposition=1;     //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);  
$waterstring=&quot;http://www.35880.cn/&quot;;  //水印字符串  
$waterimg=&quot;xplore.gif&quot;;    //水印图片  
$imgpreview=1;      //是否生成预览图(1为生成,其他为不生成);  
$imgpreviewsize=1/1;    //缩略图比例  
?>  
<style type=&quot;text/css&quot;>  
body{ font-size: 14px; }  
input{ background-color: white; border: 1px inset #CCCCCC;  }  
</style>
</head>  
<body>  
<form enctype=&quot;multipart/form-data&quot; method=&quot;post&quot; name=&quot;upform&quot;>  
上传文件:  
<input name=&quot;upfile&quot; type=&quot;file&quot;>  
<input type=&quot;submit&quot; value=&quot;上传&quot;><br>  
允许上传的文件类型为:<?php echo implode(', ',$uptypes) ?>  
</form>  
<?php  
if ($_SERVER['REQUEST_METHOD'] == 'POST')  
{   
$file = $_FILES[&quot;upfile&quot;];
$filename=$file[&quot;tmp_name&quot;];  
if (!is_uploaded_file($filename))  
//是否存在文件  
{  
echo &quot;图片不存在!&quot;;  
exit;  
}  
if($max_file_size < $file[&quot;size&quot;])  
//检查文件大小  
{  
echo &quot;文件太大!&quot;;  
exit;  
}  
if(!in_array($file[&quot;type&quot;], $uptypes))  
//检查文件类型  
{  
echo &quot;文件类型不符!&quot;.$file[&quot;type&quot;];  
exit;  
}  
if(!file_exists($destination_folder))  
{  
mkdir($destination_folder);  
}  

$image_size = getimagesize($filename);  
$pinfo=pathinfo($file[&quot;name&quot;]);  
$ftype=$pinfo['extension'];  
$destination = $destination_folder.time().&quot;.&quot;.$ftype;  
if (file_exists($destination) && $overwrite != true)  
{  
echo &quot;同名文件已经存在了&quot;;  
exit;  
}  
if(!move_uploaded_file ($filename, $destination))  
{  
echo &quot;移动文件出错&quot;;  
exit;  
}  
$pinfo=pathinfo($destination);  
$fname=$pinfo['basename'];  
echo &quot; <font color=red>已经成功上传</font><br>文件名:  <font color=blue>&quot;.$destination_folder.$fname.&quot;</font><br>&quot;;  
echo &quot; 宽度:&quot;.$image_size[0];  
echo &quot; 长度:&quot;.$image_size[1];  
echo &quot;<br> 大小:&quot;.$file[&quot;size&quot;].&quot; bytes&quot;;  
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(&quot;不支持的文件类型&quot;);  
exit;  
}  
imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);  
imagefilledrectangle($nimage,1,$image_size[1]-15,120,$image_size[1],$white);  
switch($watertype)  
{  
case 1:   //加水印字符串  
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);  
break;  
case 2:   //加水印图片  
$simage1 =imagecreatefromgif(&quot;xplore.gif&quot;);  
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 &quot;<br>图片预览:<br>&quot;;  
echo &quot;<img src=\&quot;&quot;.$destination.&quot;\&quot; width=&quot;.($image_size[0]*$imgpreviewsize).&quot; height=&quot;.($image_size[1]*$imgpreviewsize);  
echo &quot; alt=\&quot;图片预览:\r文件名:&quot;.$destination.&quot;\r上传时间:\&quot;>&quot;;  
}  
}  
?>  
</body>  
</html>


版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140299-1-1.html 上篇帖子: php编程中经常需要用到一些服务器的一些资料 $_SERVER[] 下篇帖子: nginx php5 mysql MyAdmin
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表