简单防止重名和格式检查的php图片上传实例,含图片格式验证、防止文件重名被覆盖等。
图片上传页面前端代码:
<form name="form1" method="post" action="admin_upfile.php" enctype="multipart/form-data"> <input type="file" name="pic"> <input type="submit" name="Submit" value="开始上传" class="button"> </form>
服务器端,后台页面处理代码:
<?php //这里上传 $upsize判断上传文件的大小 $uppath = "./upfiles/"; //文件上传路径 //转换根目录的路径 if (strpos($uppath, "/") == 0) { $i = 0; $thpath = $_SERVER["SCRIPT_NAME"]; $thpath = substr($thpath, 1, strlen($thpath)); while (strripos($thpath, "/") !== false) { $thpath = substr($thpath, strpos($thpath, "/") + 1, strlen($thpath)); $i = ++$i; } $pp = ""; for ($j = 0; $j < $i; ++$j) { $pp .= "../"; } $uppaths = $pp . substr($uppath, 1, strlen($thpath)); } $filename = date("y-m-d"); if (is_dir($uppaths . $filename) != TRUE) mkdir($uppaths . $filename, 0777); $f = $_FILES['pic']; if ($f["type"] != "image/gif" && $f["type"] != "image/pjpeg" && $f["type"] != "image/jpeg" && $f["type"] != "image/x-png") { echo "<script>alert('只能上传图片格式的文件');window.close()</script>"; return false; } //获得文件扩展名 $temp_arr = explode(".", $f["name"]); $file_ext = array_pop($temp_arr); $file_ext = trim($file_ext); $file_ext = strtolower($file_ext); //新文件名 $new_file_name = md5(date("YmdHis")) . '.' . $file_ext; echo $dest = $uppaths . $filename . "/" . date("ymdhis") . "_" . $new_file_name; //设置文件名为日期加上文件名避免重复 上传目录 echo $dest1 = $uppath . $filename . "/" . date("ymdhis") . "_" . $new_file_name; //设置文件名为日期加上文件名避免重复 $r = move_uploaded_file($f['tmp_name'], $dest); ?>
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/891.html