thinkphp中怎么处理上传文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp中怎么处理上传文件相关的知识,希望对你有一定的参考价值。

参考技术A   $n = $m->add();
if ($n)
$str = "添加成功";
else
$str = "添加失败";

$this->assign("str",$str);
$this->display("upload");


// 文件上传
protected function _upload()
import("@.ORG.UploadFile");
$upload = new UploadFile();
//设置上传文件大小
$upload->maxSize = 3292200;
//设置上传文件类型
$upload->allowExts = explode(',', 'jpg,gif,png,jpeg,pjpeg,bmp,doc,rar,txt');
//设置附件上传目录
$upload->savePath = './Public/upload/';
//设置上传文件规则
$upload->saveRule = uniqid;
if (!$upload->upload())
//捕获上传异常
$this->error($upload->getErrorMsg());
else
//取得成功上传的文件信息
$uploadList = $upload->getUploadFileInfo();
//import("@.ORG.Image");
//给m_缩略图添加水印, Image::water('原文件名','水印图片地址')
/*Image::water($uploadList[0]['savepath'].'m_'.$uploadList[0]['savename'], '/Thinkphp_2.1_full_with_extend/Examples/File/Tpl/default/Public/Images/logo2.png'); */
return $uploadList[0]['savename'];

thinkphp5.0.5怎么自定义命名上传文件

参考技术A

ThinkPHP5.0内置了一个文件处理类 \\think\\File,内置的文件上传操作也是调用了该类进行处理的。

File类继承了PHP的SplFileObject类,因此可以调用SplFileObject类所有的属性和方法。

表单代码:

<form action="/index/index/upload" enctype="multipart/form-data" method="post">
<input type="file" name="image" /> <br> 
<input type="submit" value="上传" /> 
</form>

控制器代码:

public function upload()
    // 获取表单上传文件 例如上传了001.jpg
    $file = request()->file('image');
    // 移动到框架应用根目录/public/uploads/ 目录下
    $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
    if($info)
        // 成功上传后 获取上传信息
        // 输出 jpg
        echo $info->getExtension();
        // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
        echo $info->getSaveName();
        // 输出 42a79759f284b767dfcb2a0197904287.jpg
        echo $info->getFilename(); 
    else
        // 上传失败获取错误信息
        echo $file->getError();
    

move方法成功的话返回的是一个SplFileInfo对象,你可以对上传后的文件进行后续操作,比如改名。

本回答被提问者采纳
参考技术B 文件重命名。

以上是关于thinkphp中怎么处理上传文件的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5.0.5怎么自定义命名上传文件

thinkphp3.2中怎样读取上传文件名

Thinkphp5 删除上传文件

THINKPHP上传的网站 上传过后CSS文件失效 但是JS文件还正常执行 不知道是怎么回事

ThinkPHP 文件上传处理

ThinkPHP6上传图片七牛云 如何上传文件到七牛云对象储存cos