编程之路之php核心编程get、post、文件上传详解【内附代码】

一、get、post数据传递方式

1、前台数据的提交

①、get

编程之路之php核心编程get、post、文件上传详解【内附代码】

说明:

       get方式是将表单元素的name属性值与用户输入的数据,组织成对的形式,放在url传递到所请求的文件。

 

②、post

编程之路之php核心编程get、post、文件上传详解【内附代码】

说明:

       post方式将用户输入的数据,与表单元素的name属性值,组织成对的形式,放在http协议内部传递到后台。

 

③、模拟get方式提交数据

主要应用在没有表单的情况下,向后台提交数据。

如何模据:只要是html文档中能够输入url的地方,在所请求的文件名后加?名=值&名=值方式,在没有表单的情况下向后台传递数据。

<a href=””>…</a>

window.location.href=url

编程之路之php核心编程get、post、文件上传详解【内附代码】

 

④、get VS post

       get

              数据不安全

              提交的数据量小

              提交的数据类型单一,只能传递文本数据。

              get方式主要用于从服务器端获取数据。

 

       post

              相对安全

              提交的数据量大

              提交的数据类型多样。

              post方式主查用于向服务器端提交数据。

 

2、后台数据的接收

①、$_GET

       用于接收前台使用get方式提交的数据。

编程之路之php核心编程get、post、文件上传详解【内附代码】

说明:

将前台传递过来的各个名值对中的名作为关联数组元素的键名,名值对中的值,作为关联数组元素的键值。

 

②、$_POST

       用于接收前台使用post方式提交的数据。

编程之路之php核心编程get、post、文件上传详解【内附代码】

说明:

将前台传递过来的各个名值对中的名作为关联数组元素的键名,名值对中的值,作为关联数组元素的键值。

 

③、$_REQUEST

       同时能够接收前台使用get或post方式提交的数据。

3、特殊表单的提交

对于复选框,在设置html时,需要在name属性值的后面加[],这个’[]’符号一旦被php接收后,会自动转换为数组。

编程之路之php核心编程get、post、文件上传详解【内附代码】

编程之路之php核心编程get、post、文件上传详解【内附代码】

4、举个计算器例子

①、为表单url

编程之路之php核心编程get、post、文件上传详解【内附代码】

编程之路之php核心编程get、post、文件上传详解【内附代码】

编程之路之php核心编程get、post、文件上传详解【内附代码】

具体代码详见附件。

二、文件上传

1、前台部分

form表单:

       action属性应该指向一个php文件

       method属性必须设置为post

       enctype属性:

              取值:        

application/x-www-url-encoded                 (默认)只能上文本数据

multipart/form-data                                    可以上传多种类型的数据(上传文件)

 

示例:

编程之路之php核心编程get、post、文件上传详解【内附代码】

2、后台处理

上传的文件的相关信息,被保存在php中$_FILES这个预定义变量中。

编程之路之php核心编程get、post、文件上传详解【内附代码】

说明:

       myfile           键名是表单上传域的name属性值,对应一个数组。

       name            所上传的文件的原文件名

       type              文件的mime(文件类型)

       size               文件大小(单位字节)

       tmp_name    是文件上传到服务器后的临时文件名。

       error             文件上传过程中的错误信息

error的错误代码如下:

编程之路之php核心编程get、post、文件上传详解【内附代码】

 

 

3、文件上传的原理

更改临时文件夹:

编程之路之php核心编程get、post、文件上传详解【内附代码】

重新启动apache

临时文件中的文件,在php脚本执行结束后会被自动删除。所以文件上传的原理就是将位于临时文件夹中的临时文件,移到其他的位置。

语法:

move_uploaded_file(tmp,dest);

说明:

       tmp        用户上传的临时文件

       dest              目录文件。

示例:

编程之路之php核心编程get、post、文件上传详解【内附代码】

4、完善文件上传

控制文件的保存的文件名

控制文件的格式

控制文件的大小

 

①、生成随机文件名

mt_rand(m,n)            

生成m与n之间的随机整数

chr(code)

       将code所表示的整数转换为相应的字符。

从用户上传的原文件名中获取扩展名,进行拼接。

②、控制允许上传的文件的类型

通过控制$_FILES[‘myfile’][‘type’]来控制文件的类型

③、控制文件大小

④、判断文件上传过程中的错误信息

5、封装文件上传函数

代码详见:附件文件

6、文件上传的相关配置

①、开启文件上传

编程之路之php核心编程get、post、文件上传详解【内附代码】

②、设置临时文件夹

编程之路之php核心编程get、post、文件上传详解【内附代码】

③、设置一次可以上传多少个文件

编程之路之php核心编程get、post、文件上传详解【内附代码】

④、一次提交能上传多大的数据

编程之路之php核心编程get、post、文件上传详解【内附代码】

⑤、用于设置所上传的文件的最大大小

编程之路之php核心编程get、post、文件上传详解【内附代码】

⑥、php模块处理接收文件的时间

编程之路之php核心编程get、post、文件上传详解【内附代码】

⑦、设置一个Php文件所能占用的最大的内存数量

编程之路之php核心编程get、post、文件上传详解【内附代码】

我是小咖

发个邀请:
如果你正好想学习php,可以与我一起交流,我的VX:feilueze333。下面资料免费赠送。

编程之路之php核心编程get、post、文件上传详解【内附代码】