thinkphp上传文件时存放临时文件的文件夹是哪一个?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp上传文件时存放临时文件的文件夹是哪一个?相关的知识,希望对你有一定的参考价值。

    上传是传到服务器的临时文件,和tinkphp没有关系。

    上传后thinkphp做文件安全处理,上传类是think/Upload类,thinkphp把临时文件保存到根目录upload下。

参考技术A

<?php

phpinfo();

?>

然后搜索upload_tmp_dir


thinkphp基础

//index.php是一个入口文件,是整个程序的入口。所有的程序文件必须要走它。

//Application代表的应用程序目录。自己写的程序文件会存放在这个文件夹里面。

//Public目录是用来存放一些公共文件的。

//ThinkPHP核心文件夹,里面含有类和文件等等。

 

 

打开ThinkPHP文件夹如下

//Common文件夹里面主要是放一些函数的。

//Conf存放的是配置文件

//Lang是语言包文件

//Library代表的是整个TP框架核心的一个类库,这里面存放的基本上都是类。

 

打开Conf配置文件夹如下

 

//convention.php这个文件就是配置。这里面包含tp框架所有的配置。

 

MVC模式

  Model     模型层  这个模型指的是数据模型    这个模型就是来操作数据库的。(关于对数据方面的操作,我们把它叫做模型层)

这个模型层里面,包含了很多对于数据库操作的一些方法。一些封装好的内容。

  View  视图层 用户能够看到的叫做视图。这个对应到smarty里面就相当于模板文件。所以View层里面包含是静态网页模板。

  Controller  控制器  也叫做C层    用来实现程序逻辑的  

 

smarty模板是分为两个一个是前端一个是后端。  MVC模式是分成了三个层面。模型和控制器分开了,操作数据库的部分,和程序逻辑的部分完全分离了。

 

MVC模式的程序里面可以没有模型层,也可以没有视图层,但不能没有控制器。所以这个控制器是MVC模式里面最重要的一个层面

 

smarty模板访问是访问.php的页面。而MVC去访问的是访问控制器里面的操作方法

 

也就是说如果你这个程序是用MVC写的,那么这个客户端在访问的时候就不是访问具体页面了,而是访问控制器里面的某个操作方法了。

控制器里面有很多很多的操作方法,那么在访问的时候就可以选择访问某一个控制器里面的某一个操作方法。

访问实际上是访问控制器里的C层。

 

 

这个MVC模式是怎么来访问的?即访问原理。

如果是访问一个简单的页面的话,可以这么来理解就是用户访问的时候是访问的控制器,控制器里面的某一个操作方法,那么这个操作方法在访问到之后,如果发现用户

需要显示内容了,我们就去View里面来找到对应的模板文件,然后拿出来给用户显示。如果访问的这个页面,里面牵扯到了数据库的操作,这个数据库的层面叫做Model模型层,

这个C层除了把这个模板拿过来之外,还要对数据库进行相应的操作,操作完了之后加上模板里面的内容解析之后,整体解析完之后再把得到的数据库和模板操作完了之后的

文件一起拿到客户端来显示。    里面的逻辑,都是C层写的。

所以说这个MVC模式跟之前的模式是完全不一样了,之前是访问具体页面的,那么MVC模式访问的不是具体页面,访问的是控制器里面的操作方法,然后通过这个方法去找文件

找模板找数据然后显示。

 

约定胜于配置:

必须按照这个规定来写,要完全按照这个规则来写。否则的话就会出问题   (规则就是比如说像以前数据库里面的字段应该大写还是小写等等)

这些东西都是一个约定,一个规则。所以要在MVC模式里面一定要按照相应的规则来写文件写内容。

 

index.php入口文件:

 

 在谷歌网址上浏览index.php网页会出现下面的网页,这是所有入口的必须经过的网页

 

访问了这个index.php网站之后thinkphp文件夹里面的Application文件夹里面就会多出了三个文件夹如下图 

 

其中Home代表的是模块文件夹。代表前台   可能还有存放后台模块的文件夹叫admin后台模块文件夹。

Runtime运行时产生的文件,可能存放在这里面。关于缓存数据缓存什么的。

打开Home前台模块文件夹如下图

 

这三个文件夹  Controller  是控制器     Model是模型层      View是视图层

如果以后再写文件的话,往这三个文件夹里面写,并且要分别来放。

 

这个Conf这个文件夹,由于我们现在做的是Home前台模块。如果要去修改一些配置的话就去Conf文件夹里面的config.php里面进行修改。

之前在thinkphp文件夹里面的ThinkPHP文件夹里面的Conf文件夹里面的convention.php文件。这个convention.php配置文件是整个TP框架的配置

一个TP框架是可以挂很多个程序的。而且每个程序里面可以有很多模块。那么如果你要去修改某一个模块的配置。一定不能在convention.php这个整个TP

框架的配置文件里面修改。如果想修改某一个配置,可以到convention.php里面找到相对应的代码,复制,然后拿到这个Home前台模块文件夹里面的Conf配置

文件夹里面的config.php前台配置文件里面复制代码然后修改就可以了。这个config.php前台配置文件里面的配置可以覆盖convention.php里面的配置,所以在

这里修改就可以了。

 

 

接下来再过来看一下控制器

在前台模块Home文件夹里的Controller控制器文件夹里面的IndexController.class.php文件这是个类文件。这个控制器本质上是一个类

IndexController.class.php这里的写控制器类文件是用驼峰法命名来写。规定就是以后只要写控制器就得用驼峰法命名来写(首字母大写)

index是控制器的名称。后面紧跟的Controller相当于后缀,说明这是个控制器。

 

在控制器的类里面,出现的所有的方法,我们把它称作操作方法。

 

怎么来访问这个MVC模式?

在谷歌浏览器访问入口文件localhost/0306/thinkphp/index.php   先找到入口文件。找到后,后面斜杠跟模块名称Home再斜杠跟控制器名称再斜杠跟操作方法名称。总共要写这三块内容 (如下图)

 

 

模块->控制器->操作方法。(访问的就是控制器里的操作方法)

 

 

 

 

 

【tp框架文件上传中文乱码问题】

在windows操作系统下:

在ThinkPHP/Library/Think/Upload/Driver/Local.class.php

第83行将$filename 改为iconv(\'utf-8\',\'gb2312\',$filename)

 

以上是关于thinkphp上传文件时存放临时文件的文件夹是哪一个?的主要内容,如果未能解决你的问题,请参考以下文章

iis服务器php网站上传文件找不到临时存放路径

thinkphp图片文件上传

Thinkphp5笔记五:配置data文件夹

php上传大文件失败处理

nginx上传文件大小

springboot项目上传文件出现临时文件目录为空