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"); // 引入自定義函數(shù)文件
$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");
// 獲取文件后綴名函數(shù)
function fileext($filename){
$sTemp = strrchr($filename, ".");
return substr($sTemp, 1);
}
function fileext2($filename){
$sTemp = explode(".", $filename);
return $sTemp[count($sTemp)-1];
}
// 生成隨機(jī)文件名函數(shù)
function random($length){
$captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz這是一個(gè)隨機(jī)打印輸出字符串的例子";
$captchaResult = "2015"; // 隨機(jī)數(shù)返回值
$captchaSentry = ""; // 隨機(jī)數(shù)中間變量
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
// 獲取文件后綴名函數(shù)
function fileext($filename){
$sTemp = strrchr($filename, ".");
return substr($sTemp, 1);
}
function fileext2($filename){
$sTemp = explode(".", $filename);
return $sTemp[count($sTemp)-1];
}
// 生成隨機(jī)文件名函數(shù)
function random($length){
$captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz這是一個(gè)隨機(jī)打印輸出字符串的例子";
$captchaResult = "2015"; // 隨機(jī)數(shù)返回值
$captchaSentry = ""; // 隨機(jī)數(shù)中間變量
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!