表单传值
1. 3种页面跳转传值方式
- html
- <a href="网址">标签跳转
- <meta location="网址">
- <meta http-equiv="refresh" conter="3;网址"
- 3是秒数
- 注意: <meta name="location" content="地区">
- 是给搜索引擎用的,并不能跳转
- js 中的跳转
- location.href=网址
- location.assign(url)
- location.replace(url)
- 注意: location.replace(url) 不会产生历史记录
- php中的跳转
- header("location:{$url}"); 设置头部
- header("refresh:{$time}:{$url}")
2.GET 跟POST 上传的大小限制
- GET 一般上限 为2kb
- POST 默认的大小是8M
- 通过修改php.ini 中的post_max_size=8M来实现
文件上传
1 . 设置form表单的属性
<form action="" method="post"
enctype
="
multipart
/form-data">
</form>
- enctype :编码格式
- 默认的编码格式:enctype="application/x-www-form-urlencoded"
- multipart 多部件的,多的意思
- 注意跟multiple区分
- <select multiple></select> 多选
2. 设置文件上传的大小
php.ini 中 的 upload_max_filesize=2M
不能超过 php.ini中 的post_max_size 的大小
3.设置临时文件的路径
php的ini 中的 upload_tmp_dir ="路径"
注意:默认的路径是: c:/windows/temp
4. $_FILES二维数组的值
- 单文件上传 例如 <input="file" name="myfile" />
- $_FILES["myfile"]["name"] :上传的文件名
- $_FILES["myfile"]["type"] :上传文件的文件类型
- $_FILEs["myfile"]["tmp_name"]:临时文件的路径
- $_FILES["myfile"]["size"] :文件的大小
- 多文件上传
- $_FILES["myfile"]["name"] [0]:
- 第1个 上传的文件名
- $_FILES["myfile"]["type"][0] :
- 第一个上传文件的文件类型
- $_FILEs["myfile"]["tmp_name"][0]:
- 第一个临时文件的路径
- $_FILES["myfile"]["size"] [0]:
- 第一个文件的大小
- 多文件上传的获取思路
- 第一步:获取文件的数量
- $_FILES["myfile"]["name"] [0]:
$count=count($_FILES["myufile"]["name"]);
- 通过 for($i=0; $i<$count;$i++){
$_FILES["myfile"]["name"]
[$i]
:
$_FILES["myfile"]["type"]
[$i]
:
$_FILEs["myfile"]["tmp_name"]
[$i]
:
$_FILES["myfile"]["size"]
[$i]
:
}
5.文件上传失败的原因
- error错误代码对应
- 1 : 文件大小超过2M(php.ini中 可设置)
- 4 : 请选择文件 (未选择文件)
- 6 : 找不到临时文件夹 (php.ini中配置)
- 上传文件超出服务器设置 ph p,ini 中的
upload_max_filesize(默认是2M),
不能超过 php.ini中 的post_max_size 的大小
注意:如果没有超出post_max_size的值,可以查看error的值
=1
- 上传文件的大小超过了HTMl表单中的MAX_FILE_SIZE选项指定的值
- 是一个隐藏控件
- 必须放在上传文件的前面
- 语法 : <input type="hidden" name="MAX_FILE_SIZE"
value ="102400">
- 数组$_FILES为空,无错误代码提示
- 文件只有部分被上传
- 没有文件被上传 error对应的是 4
6.文件上传的步骤
①表单域
<form action="" method="post"
enctype="
multipar
/form-data">
<input type="hidden" name="
MAX_FILE_SIZE
"
value="102400" >
<file name="myfile" >
</form>
②判断 $_FILES 是否为空,为空表示没有表单域
is_null($_FILES) 或者 if($_FILES){}
③读取错误代码,如果为0 表示没有错误
$_FILES["myfile"]["error"]==0
④ 判断上传的文件是否是HTTP POST上传的文件
is_upload_file(临时文件名)
⑤ 移动临时文件至永久保存路径
move_uploaded_file(临时文件名,目标路径)
---临时文件名 $_FILES["myfile"]["tmp_name" ];