1、文件上传前端代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<form action ="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="my_file">
<button>上传</button>
</form>
</body>
</html>
2、php代码
<?php
//文件上传
//var_dump($_FILES['my_file']);die();
$fileType = ['jpg','png','gif'];
$fileSize = 3*1024*1024;//3兆
//设置上传路径
$ilePath = '/uploads/';
//获取文件名称
$fileName = $_FILES['my_file']['name'];
//获取临时文件名称
$tempFile = $_FILES['my_file']['tmp_name'];
//2判断文件是否上传成功
$uploadError = $_FILES['my_file']['error'];
if ($uploadError >0 ){
switch ($uploadError){
case 1:die('文件超过php.ini 中 upload_max_filesize选项限制的值');
case 2:die('请上传小于3M以内的文件');
case 3:die('上传文件不完整');
case 4:die('文件未被上传');
case 6:die('找不到临时文件夹');
case 7:die('文件写入失败');
default:die('未知错误');
}
}
//3、判断文件扩展名是否符合要求
//获取文件后缀名
$extension = explode('.',$fileName)[1];
if (!in_array($extension,$fileType)){
die('不允许上传'. $extension.'文件类型');
}
//4、生成不可重复的文件名
$fileName = date('ymdHis',time()).md5(mt_rand(1,99)). '.' . $extension;
//5、文件上传
//判断上传路径是否存在,不存在则创建路径
if(!is_readable(__DIR__ . $ilePath))
{
is_file(__DIR__ . $ilePath) or mkdir(__DIR__ . $ilePath,0700);
}
if (is_uploaded_file($tempFile)){
if (move_uploaded_file($tempFile,__DIR__ . $ilePath . $fileName )){
echo '上传成功';
}else{
echo ('上传失败');
}
}else{
die('非法操作');
}
exit;
3、执行效果截图