PHP基础(一) 表单传值 以及 文件上传

表单传值
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]:
      • 第一个文件的大小
    • 多文件上传的获取思路
      • 第一步:获取文件的数量
$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" ];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值