新闻资讯

首页 > 新闻资讯 > 建站知识 > php图片上传代码
php图片上传代码发布时间:2018-05-11 浏览量( 324)
上传目录:文件当前文件夹; 图片文件夹:自动生成,格式为日期的年月,如:201801,201802; 图片是否压缩:否; 图片名称:以上传时间的linux时间戳命名; 图片支持类型:jpg,jpeg,png,pjpeg,gif,bmp,x-png; 图片大小:默认2M(可自行修改,但是超过系统php.ini设置无效); php图片上传完整代码如下: <?php $uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png'); $addtime=date("Ym",time()); $testdir="./".$addtime."/"; if(file_exists($testdir)): else: mkdir($testdir,0777); endif; $max_file_size=2097152; //上传文件大小限制, 单位BYTE $destination_folder=$testdir; //上传文件路径 $imgpreview=1; //是否生成预览图(1为生成,其他为不生成); $imgpreviewsize=1/2; //缩略图比例 ?> <form enctype="multipart/form-data" method="POST" name="upform"> 上传文件: <input name="upfile" type="file"> <input type="submit" value="上传"><br> 允许上传的文件类型为:<?=implode(',',$uptypes)?> </form> <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (!is_uploaded_file($_FILES["upfile"]["tmp_name"])) //是否存在文件 { echo "图片不存在!"; exit; } $file = $_FILES["upfile"]; if($max_file_size < $file["size"]) //检查文件大小 { echo "文件太大!"; exit; } if(!in_array($file["type"], $uptypes)) //检查文件类型 { echo "文件类型不符!".$file["type"]; 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 "同名文件已经存在了"; exit; } if(!move_uploaded_file ($filename, $destination)) { echo "移动文件出错"; 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]; echo "<br> 大小:".$file["size"]." bytes"; if($imgpreview==1) { echo "<br>图片预览:<br>"; echo "<img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize); echo " title=\"图片预览:\r文件名:".$destination."\r上传时间:\">"; } } ?> 代码已经测试,完全可用!