计算机教程

ThinkPHP5.0多个文件上传后找不到临时文件的修改方法

20 7月 , 2019  

 这是改良之后的代码    

由于默认是采用多模块的支持,所以多个模块的情况下必须在URL地址中标识当前模块,如果只有一个模块的话,可以进行模块绑定,方法是应用的公共文件中添加如下代码:

 if(!empty($_FILES)){
        if(!empty($_FILES['org_positive'])){
          $org_positive = request()->file('org_positive');
        }
        if(!empty($_FILES['org_reverse'])){
          $org_reverse = request()->file('org_reverse');
        }
        if(!empty($_FILES['org_license'])){
          $org_license = request()->file('org_license');
        }
        if($org_positive){
          $info = $org_positive->move(ROOT_PATH . 'uploads');
          $positive_path="/uploads/".$info->getSaveName();
        }else{
          $positive_path="";
        }
        if($org_reverse){
          $info1=$org_reverse->move(ROOT_PATH . 'uploads');
          $reverse_path="/uploads/".$info1->getSaveName();
        }else{
          $reverse_path="";
        }
        if($org_license){
          $info2=$org_license->move(ROOT_PATH . 'uploads');
          $license_path="/uploads/".$info2->getSaveName();
        }else{
          $license_path="";
        }
      }
// 绑定当前访问到index模块的index控制器
\think\Route::bind('index/index');

以上所述是小编给大家介绍的ThinkPHP5.0多个文件上传后找不到临时文件的修改方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

一个模块下面的类库文件的命名空间统一以app\模块名开头,例如:

图片 1 

设置后,我们的URL访问地址则变成:

这是修改之前的代码

单一模块

if(!empty($_FILES)){
        if(!empty($_FILES['org_positive'])){
          $org_positive = request()->file('org_positive');
          if($org_positive){
            $info = $org_positive->move(ROOT_PATH . 'uploads');
            $positive_path="/uploads/".$info->getSaveName();
          }else{
            $positive_path="";
          }
        }
        if(!empty($_FILES['org_reverse'])){
          $org_reverse = request()->file('org_reverse');
          if($org_reverse){
            $info1=$org_reverse->move(ROOT_PATH . 'uploads');
            $reverse_path="/uploads/".$info1->getSaveName();
          }else{
            $reverse_path="";
          }
        }
        if(!empty($_FILES['org_license'])){
          $org_license = request()->file('org_license');
          if($org_license){
            $info2=$org_license->move(ROOT_PATH . 'uploads');
            $license_path="/uploads/".$info2->getSaveName();
          }else{
            $license_path="";
          }
        }
      }

http://serverName/index.php(或者其它应用入口)/控制器/操作/\[参数名/参数值…\]

您可能感兴趣的文章:

// 关闭多模块设计
'app_multi_module' => false,

总结

绑定后,我们的URL访问地址则变成:

在处理$_FILES第二个元素的时候出现了以下错误

变成

本人是小白,在网上查找到资料说php上传文件后较短时间会删除临时文件,也就是$_FILES[‘file'][‘tmp_name']这个值,修改代码之后没有报错了,成功将临时文件转移了出来

├─application          
应用目录(可设置)
│  ├─common             公共模块目录(可选)
│  ├─common.php         公共函数文件
│  ├─route.php          路由配置文件
│  ├─database.php       数据库配置文件
│  ├─config.php         应用配置文件
│  ├─module1            模块1目录
│  │  ├─config.php      模块配置文件
│  │  ├─common.php      模块函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  └─ …            更多类库目录
│  │
│  ├─module2            模块2目录
│  │  ├─config.php      模块配置文件
│  │  ├─common.php      模块函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  └─ …            更多类库目录

app\controller\Index
app\model\User

更多的URL简化和定制还可以通过URL路由功能实现。

首先在应用配置文件中定义:

访问的模块是index模块。

5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改)。

// index模块的Index控制器类
app\index\controller\Index
// index模块的User模型类
app\index\model\User
'app_namespace' => 'application',

标准的应用和模块目录结构如下:

您可能感兴趣的文章:

同时,单一模块设计下的应用类库的命名空间也有所调整,例如:

// index模块的Index控制器类
application\index\controller\Index
// index模块的User模型类
application\index\model\User

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程
》、《smarty模板入门基础教程》及《PHP模板技术总结》。


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图