ThinkPHP 是一个基于 PHP 的轻量级 Web 开发框架,它提供了丰富的功能和组件,方便开发者快速构建 Web 应用程序。上传多个文件是 Web 开发中常见的需求,通常涉及到表单提交、文件处理和存储等步骤。
以下是一个使用 ThinkPHP 上传多个文件的示例代码:
<?php
namespace app\index\controller;
use think\Controller;
use think\Request;
class Upload extends Controller
{
public function index()
{
return $this->fetch();
}
public function upload(Request $request)
{
// 检查是否有文件上传
if ($request->hasFile('files')) {
// 获取上传的文件
$files = $request->file('files');
// 遍历文件并保存
foreach ($files as $file) {
// 移动文件到指定目录
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if ($info) {
echo '文件上传成功:' . $info->getSaveName() . '<br>';
} else {
echo '文件上传失败:' . $file->getError() . '<br>';
}
}
} else {
echo '没有文件被上传';
}
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<form action="/index/upload/upload" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="上传">
</form>
</body>
</html>
php.ini
文件中的 upload_max_filesize
和 post_max_size
设置,确保它们足够大。同时,检查 application/config.php
中的文件上传配置。uniqid()
或其他唯一标识符来生成唯一的文件名。通过以上步骤和示例代码,你可以轻松实现 ThinkPHP 中的多文件上传功能,并解决常见的上传问题。
领取专属 10元无门槛券
手把手带您无忧上云