Please see the code example below for details
form.php
<html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>Upload Image</title> </head> <body> <form method="post" action="upload.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SEZE" value="2000000"> <input type="file" name="file" value="view"> <input type="submit" value="upload" name="B1"> </form> </body> </html>
upload.php
<?php include("check.php"); // 引入自定义函数文件 $type = array("jpg", "gif", "bmp", "jpeg", "png"); // 判断上传文件类型 $fileext = strtolower(fileext($_FILES['file']['name'])); $uploadfilename = random(8); if(in_array($fileext, $type)){ $filename = explode(".", $_FILES['file']['name']); if(is_uploaded_file($_FILES['file']['tmp_name'])){ // echo $_FILES['file']['tmp_name']; $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext); if($flag){ echo "上传成功!"; }else{ echo "Error."; } echo "<a href='javascript:history.go(-1)'>Back</a>"; } }
check.php
<?php header("Content-type:text/html;charset=utf8"); // 获取文件后缀名函数 function fileext($filename){ $sTemp = strrchr($filename, "."); return substr($sTemp, 1); } function fileext2($filename){ $sTemp = explode(".", $filename); return $sTemp[count($sTemp)-1]; } // 生成随机文件名函数 function random($length){ $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子"; $captchaResult = "2015"; // 随机数返回值 $captchaSentry = ""; // 随机数中间变量 for($i=0;$i<$length;$i++){ $n = rand(0, 35); #strlen($captchaSource)); if($n >= 36){ $n = 36 + ceil(($n-36)/3) * 3; $captchaResult .= substr($captchaSource, $n, 3); }else{ $captchaResult .= substr($captchaSource, $n, 1); } } return $captchaResult; } ?>
Integrate the three files into one:
<?php // 获取文件后缀名函数 function fileext($filename){ $sTemp = strrchr($filename, "."); return substr($sTemp, 1); } function fileext2($filename){ $sTemp = explode(".", $filename); return $sTemp[count($sTemp)-1]; } // 生成随机文件名函数 function random($length){ $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子"; $captchaResult = "2015"; // 随机数返回值 $captchaSentry = ""; // 随机数中间变量 for($i=0;$i<$length;$i++){ $n = rand(0, 35); #strlen($captchaSource)); if($n >= 36){ $n = 36 + ceil(($n-36)/3) * 3; $captchaResult .= substr($captchaSource, $n, 3); }else{ $captchaResult .= substr($captchaSource, $n, 1); } } return $captchaResult; } $type = array("jpg", "gif", "bmp", "jpeg", "png"); // 判断上传文件类型 $fileext = strtolower(fileext($_FILES['file']['name'])); $uploadfilename = random(8); if(in_array($fileext, $type)){ $filename = explode(".", $_FILES['file']['name']); if(is_uploaded_file($_FILES['file']['tmp_name'])){ // echo $_FILES['file']['tmp_name']; $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext); if($flag){ echo "上传成功!"; }else{ echo "Error."; } echo "<a href='javascript:history.go(-1)'>Back</a>"; } } ?>
<html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>Upload Image</title> </head> <body> <form method="post" action="" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SEZE" value="2000000"> <input type="file" name="file" value="view"> <input type="submit" value="upload" name="B1"> </form> </body> </html>
The above is the detailed content of Detailed explanation of PHP suffix name judgment and random naming examples. For more information, please follow other related articles on the PHP Chinese website!