ThinkPHP 是一个流行的 PHP 开发框架,它提供了丰富的功能和简洁的 API,使得开发者能够快速构建 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 '没有文件被上传';
}
}
}
原因:可能是服务器配置或 ThinkPHP 配置中的文件大小限制。
解决方法:
php.ini
文件中的 upload_max_filesize
和 post_max_size
参数。config.php
中修改文件大小限制:return [
'upload' => [
'maxSize' => 10 * 1024 * 1024, // 10MB
],
];
原因:可能是服务器配置或 ThinkPHP 配置中的文件类型限制。
解决方法:
php.ini
文件中的 file_uploads
和 upload_tmp_dir
参数。config.php
中修改允许的文件类型:return [
'upload' => [
'exts' => ['jpg', 'jpeg', 'png', 'gif'], // 允许的文件类型
],
];
通过以上信息,您应该能够更好地理解和实现 ThinkPHP 中的多文件上传功能,并解决常见的上传问题。
领取专属 10元无门槛券
手把手带您无忧上云