重蔚php学习第三十五天——php表单文件上传

什么是文件上传

<input type=’file’ /> 文件框

允许用户选择一个本地文件上传至服务器

重蔚php学习第三十五天——php表单文件上传

 

准备工作

1)表单

2)设置method=”post”,不能使用get

get是将数据附近地址栏中,会限制数据大小,只能传输文本数据

3)设置enctype="multipart/form-data"

上传文件时必须设置这个属性等于这个值

默认情况下,表单只传输文本数据,但文件属于二进制数据,所以设置这个属性以及属性值的含义:

这个表单上传的数据:文本数据加上二进制数据。

4)配置php配置文件

重蔚php学习第三十五天——php表单文件上传 重蔚php学习第三十五天——php表单文件上传

file_uploads = on;                            开启文件上传功能

upload_max_filesize = 2M;      上传文件的最大尺寸

post_max_size = 8M;                post提交数据的最大尺寸,这个值要大于upload_max_filesize

upload_tmp_dir                        发送的文件会在服务器的临时目录下存储,以一个临时文件的形式存储,如果这个选项被注释掉,会自动去找服务器操作系统的临时目录。

 

文件上传的步骤

1)用户选择本地文件

2)点击提交按钮上传文件

3)将文件数据发送到服务器的临时目录下

4)将在服务器的临时目录下产生一个临时文件,这个临时文件就是我们上传文件

5)我们需要在程序运行时,将这个临时文件移动至我们保存图片的路径下

 

开始上传

表单:

重蔚php学习第三十五天——php表单文件上传

php程序:

重蔚php学习第三十五天——php表单文件上传

文件上传后,文件的所有信息会保存到$_FILES这个超全局变量数组中,这个数组是二维的

[‘变量名’][‘属性’]:

取值:

[‘变量’][‘name’] :原名

[‘变量’][‘type’]:MIME类型

[‘变量’][‘tmp_name’]:临时文件所在路径

[‘变量’][‘error’]:错误代码,如果没有错误,0

[‘变量’][‘size’] :上传文件的大小,单位:字节

 

上传文件函数

bool copy ( string filename, string dest)

复制文件

string filename:原文件

string dest:目标文件

bool move_uploaded_file (string filename, string dest)

剪切文件(移动上传文件)

string filename :原文件

string dest :目标文件

重蔚php学习第三十五天——php表单文件上传

通过上题,可以看出

copy函数可以将原文件多次复制到我们的程序中

move_uploaded_file是将文件直接移走,所以程序运行下一行代码是不能正确执行的。

 

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处:https://www.cwhello.com/2883.html

(0)
上一篇 2017年10月20日 08:13
下一篇 2017年10月20日 14:28

相关推荐

  • php的可变函数

    说明:就是一个变量如果加上括号,PHP的系统会解析成函数,这个变量的值必须是一个函数的名,否则报错,未定义了。 案例...

    2018年4月5日
    0280
  • PHP浮点型--FLOAT

    说明:小数,浮点型(也叫浮点数 float,双精度数 double 或实数 real) PHP中的小数有两种表现形式:普通的小数和科学计数法 浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导...

    2017年11月20日
    0160
  • (实用篇)微信网页授权(OAuth2.0) PHP 源码简单实现

    提要: 1. 建议对OAuth2.0协议做一个学习。 2. 微信官方文档和微信官网工具要得到充分利用。 比较简单,直接帖源代码了。其中“xxxxxxxxxx”部分,是需要依据自己环境做替换的 /** * OAuth2.0微信授权登录实现 * * @au...

    2016年10月24日
    0280
  • 重蔚php学习第三十四天——php数组相关算法

    冒泡排序 快速查找 二分查找(折半查找) 1-----100 50 小了 50---100    75 大了 1------50     25 75 小了 75----100    87 大了 50-----75     62   前提:必须是个有序数组 最后一个快速排序... ...就不写...

    2017年10月10日
    0350
  • 通过php实现定时任务

    php是怎么做定时任务? 如下图所示: 代码: header("Content-type:text/html;Charset=utf8"); //原理:通过sleep一段时间后再访问脚本自身的方式继续执行 //设置sleep时间 $time=15; //获取请求的Url $url="http://".$_...

    2018年4月27日
    0280
  • 高并发处理方案

    时常看到高并发的问题,但高并发其实是最不需要考虑的东西。为何,他虚无缥缈,很少有网站真的需要这些东西,而且其中很多技术,其实你已经在用了。有这个意识就够了,不需要时刻盯着这个问题。只有很少的网站真的能...

    2017年11月27日
    0240
  • PHP变量间的传值方式

    总体说明: 1,这里讨论的传值方式是指:一个变量对另一个变量 2,它不仅仅适用于赋值语句,也适用于其他有同样含义的语句,比如:函数的实参到形参 3,传值方式只有2种:值传递,引用传递 4,php中,所有变量,默认...

    2017年11月4日
    0200
  • PHP上传问题的后续问题

    如何验证文件类型 验证文件括展名 验证文件MIME类型 保证上传文件命名的唯一性 时间 时间戳 IP 将上传功能进行封装 如何上传多文件 html文件: 测试代码: 运行结果: $FILE: 第一个[]:文件框名称 第二个[]:属性 第...

    2017年11月8日
    0280

发表评论

您的电子邮箱地址不会被公开。

评论列表(1条)

  • 知道91
    知道91 2017年12月1日 23:47

    php上传文件还是蛮方便的

您看到的还是重蔚自留地。只是我们升级啦!