文件上传
前端
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<h2>文件上传</h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="my_file">
<button>文件上传</button>
</form>
</body>
</html>`
后端
`<?php
//文件上传的原理
// 1. 配置上传参数
$fileType = [‘jpg’, ‘png’, ‘gif’];
//文件大小
$fileSize = 3145728;
//文件路径
$filePath = ‘/upload/‘;
// 原始文件名
$fileName = $_FILES[‘my_file’][‘name’];
// 临时文件名
$tempFile= $_FILES[‘my_file’][‘tmp_name’];
//2. 判断是否上传成功?判断是否上传成功
$uploadError = $_FILES[‘my_file’][‘error’];
if ($uploadError > 0 ) {
switch ($uploadError) {
case 1:
case 2: die(‘上传文件过大’);
case 3: 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 (isuploadedfile($tempFile)) {
if (move_uploaded_file($tempFile, __DIR . $filePath . $fileName)) {
echo “上传成功”;
} else {
die(‘上传失败’);
}
} else {
die(‘非法操作’);
}
exit;`
总结
了解了文件上传的功能。但是不知道如何如何在项目上使用,特别是把文件地址存放到数据库中,能否给一详细的案例,让我们自己看一下。
另外能否给一个 execl 或 txt 文件 中的内容批量上传到数据库中的实例,让我们自学一下。