ThinkPHP-文件上传和保存

2023-05-03 13:46:22 浏览数 (2)

ThinkPHP 是一个开源的 PHP 框架,它提供了许多方便快捷的功能,其中包括文件上传和保存功能。

一、文件上传

文件上传是指将本地计算机中的文件传输到服务器上。在 ThinkPHP 中,我们可以使用 PHP 自带的 $_FILES 变量来实现文件上传。具体步骤如下:

在前端页面中添加一个文件上传的表单,例如:

代码语言:javascript复制
<form action="/index.php/Upload/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传">
</form>

在后端控制器中编写文件上传的处理函数,例如:

代码语言:javascript复制
public function upload()
{
    $file = request()->file('file');
    $info = $file->validate(['size'=>2048000,'ext'=>'jpg,png,gif'])->move( './uploads');
    if ($info) {
        // 文件上传成功,返回文件路径
        return $info->getSaveName();
    } else {
        // 文件上传失败,返回错误信息
        return $file->getError();
    }
}

在上述代码中,我们首先使用 request() 函数获取文件对象 $file,然后使用 validate() 函数对文件进行验证,包括文件大小和扩展名的验证,最后使用 move() 函数将文件保存到指定目录下。

二、文件保存

文件保存是指将服务器上的文件保存到指定位置。在 ThinkPHP 中,我们可以使用 PHP 自带的文件操作函数来实现文件保存功能。具体步骤如下:

定义文件保存的路径,例如:

代码语言:javascript复制
$path = './uploads/test.jpg';

使用 file_put_contents() 函数将文件保存到指定路径下,例如:

代码语言:javascript复制
$content = 'hello, world!';
file_put_contents($path, $content);

在上述代码中,我们首先定义了文件保存的路径 $path,然后使用 file_put_contents() 函数将字符串内容 $content 写入到指定路径下。

0 人点赞