表单数据处理及上传

所有要传递到后台的input内容,除submit外都要加name属性,而且需要与后台对应

GET 和POST区别:

get以明文在链接中显示,传递速度快,只能传输文本,数据大小有限

post通过协议传输,能传输更多数据,可以传输文件

用$_GET,$_POST或$_REQUEST获取表单提交数据;

表单变量传输多个值,需要对表单元素的name属性增加一对中括号,如:

<input type="checkbox"name="love[]"/>

文件上传的相关配置:

表单设置:

需要对form表单进行设置,

1.提交方式为post

2.设定enctype属性为:multipart/form-data

3.可以在表单添加隐藏域,限制上传文件大小,如:<input type="hidden" name="MAX_FILE_SIZE" value="1024">

PHP设置:

1.file_uploads  是否允许通过HTTP上传文件,默认为on;

2.uoload_max_filesiez   允许上传文件大小的最大值,默认为2M,此指令必须小于post_max_size

3.upload_tmp_dir   指定上传文件的临时存放路径,这个目录对于拥有此服务器进程的用户必须是可 写的;如果未指定则使用系统默认值;

4.post_max_size   控制post方式提交数据PHP所能接受的最大数据量

5.memory_limit   指定单个脚本程序可以使用的最大内存容量

6.max_execution_time   此指令确定php脚本可以执行的最长时间,以秒为单位,默认为30秒

$_FILES

$_FILES超级全局表量作用是存储各种与上传文件有关的信息;

$_FILES是一个二位数组,共5项:

$_FILES["userfile"]["name"] 上传文件的名称

$_FILES["userfile"]["type"] 上传文件的类型

$_FILES["userfile"]["size"] 上传文件的大小, 以字节为单位

$_FILES["userfile"]["tmp_name"] 文件上传后在服务器端储存的临时文件名

$_FILES["userfile"]["error"] 文件上传相关的错误代码

注:userfile只是一个占位符,代表文件上传表单元素的名字; 因此这个值将根据你所给定 的名称有所不同;

三、上传错误信息 $_FILES[‘userfile‘][‘error‘]  提供了在文件上传过程中出现的错误:

1.UPLOAD_ERR_OK (value = 0)      如果文件上传成功返回0;

2.UPLOAD_ERR_INI_SIZE (value = 1) 如果试图上传的文件大小超出了 upload_max_filesize指令指定的值,则返回1;

3.UPLOAD_ERR_FORM_SIZE (value = 2) 如果试图上传的文件大小超出了MAX_FILE_SIZE指令(可能嵌入在HTML表单中)指定的值, 则返回2;

4.UPLOAD_ERR_PARTIAL (value = 3) 如果文件没有完全上传,则返回3; 如网络出现错误,导致上传过程中断;

5.UPLOAD_ERR_NO_FILE (value = 4) 如果用户没有指定上传的文件就提交表单,则返回4

is_uploaded_file()   函数确定参数filename指定的文件是否使用HTTP POST上传;

例:if(is_uploaded_file($_FILES[‘userfile’][‘tmp_name’])){ copy($_FILES[‘userfile’][‘tmp_name’], "test.txt"); }else{ echo "文件上传失败!"; }

move_uploaded_file()     作用是将上传文件从临时目录移动到目标目录;还提供了一种额外的 功能,它将检查由filename输入参数指定的文件确实是通过http post 上传机制 上传的。如果所指定的文件并非上传文件,则移动失败,返回false;

例:move_uploaded_file($_FILES[‘userfile‘][‘tmp_name‘], "1/test.jpg");

时间: 2024-10-28 20:35:25

表单数据处理及上传的相关文章

Struts2文件上传(基于表单的文件上传)

•Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目 •Commons-FileUpload组件特点 –使用简单:可以方便地嵌入到JSP文件中,编写少量代码即可完成文件的上传功能 –能够全程控制上传内容 –能够对上传文件的大小.类型进行控制 •需要下载Common-FileUplaod框架地址(当然MyEclipce中Struts2支持里自带有这两个包): –http://jak

$_FILE参数详解及简单&lt;form&gt;表单无刷新上传文件

$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FILES数组内容如下: $_FILES['myFile']['name'] 客户端文件的原名称 $_FILES['myFile']['type']   文件的 MIME类型,需要浏览器提供该信息的支持,例如"image/gif" $_FILES['myFile']['size']    已上传文件的大小,

java模拟post方式提交表单实现图片上传【转】

转自:http://blog.csdn.net/5iasp/article/details/8669644 模拟表单html如下: <form action="up_result.jsp" method="post" enctype="multipart/form-data" name="form1" id="form1"> <label> <input type="

form表单无刷新上传文件

很多时候,我们上传完文件之后,不想当前页面跳转,或者是刷新一下.那么我们需要怎么做呢? 首先,我们用的是最简单的form表单上传,提交方式.代码如下 <!--大家注意到这个form的target的了么?这个target属性的值frameFile,是form之后的 iframe的name值,这样的写法是让当前的form表单在提交表单内容的时候转交给iframe中进行页面 中表单处理,并且不会产生当前页面跳转!--> <form id="uploadForm" class

AJAX提交form表单带文件上传

过了三天才想要写博客,这样不好,要改正 在做毕设的时候,用户发帖涉及到了文件上传的问题,在这里记录一下 背景: 在用户发帖的时候,用户只想发表文字postText,还有些用户想在发表postText的同时还发表一些图片,如何做? 上代码 不写的太细了,和流水账似的,挑重点记录一下. 1.前台的文件上传 本来想用form表单直接上传了,但是form提交时会刷新整个页面,但这不是我想要的,所以使用了ajax提交form表单. 利用ajax提交表单需要用到jquery.form.js这个包,网上有很多

form表单和ajax上传文件

使用form表单上传文件 知识点/注意点 from表单里 要加上这行 enctype="multipart/form-data" 上传文件 上传的是二进制数据 用request.FILES 拿到的也是一个字典 前端代码 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Titl

Django框架 之 Form表单和Ajax上传文件

浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html <h3>form表单上传文件</h3> <form action="/upload_file/" method="post" enctype="multipart/form-data"> <p><input type="file" name="upload_fi

(25) java web的struts2框架的使用-基于表单的文件上传

一,首先创建一个表单页面 <body> <form action="uploads" method="post" enctype="multipart/form-data"> 文件: <input type="file" name="uploadObject"> <input type="submit" value="提交"&

9.16 基于form表单的文件上传实现 ContextType

基于form表单传递普通键值对的方式传递数据: enctype="application/x-ww-form-urlencoded" 基于form表单上传文件 传递数据,非键值对: enctype="multipart/form-data" enctype="text/plain" 这种方式几乎不用 基于ajax传递普通键值对的方式传递数据到服务器 只要请求体有数据,request.body都有值 .但request.post 只有当conten