数据传输两种方式
1.字符数据传输方式 普通的数据传输
2.二进制格式传输
文件的传输 :图片 普通的文件
文件的上传
概念:从一台电脑上,将文件传输到另外一台电脑上。
从客户端 上传到服务端机器。post 和get 不能直接进行二进制文件的直接传输
,get不能直接传,post需要搭配一个属性 可以传输。
文件上传分为两个步骤
1.客户端用户上传
a)增加文件上传的表单域
b)用户选择上传文件
c)点击上传,将文件发送给服务器
<form action="demo.php" method="POST">
<input type="file" name="file">
<input type="submit" value="提交">
</form>
2.服务端接收
接收文件上传
echo ‘
’
var_dump(
P
O
S
T
)
;
f
o
r
m
表
单
使
用
p
o
s
t
方
式
提
交
数
据
,
因
此
使
用
p
o
s
t
接
收
数
据
,
接
收
到
的
是
文
件
的
名
字
文
件
上
传
必
须
要
在
服
务
器
端
先
开
启
文
件
上
传
的
功
能
在
p
h
p
.
i
n
i
里
面
配
置
p
o
s
t
默
认
提
交
字
符
流
数
据
,
不
能
提
交
二
进
制
数
据
,
如
果
需
要
提
交
二
进
制
数
据
,
需
要
给
表
单
额
外
增
加
一
个
属
性
:
e
n
c
t
y
p
e
=
“
m
u
l
t
i
p
a
r
t
/
f
o
r
m
−
d
a
t
a
”
多
功
能
表
单
数
据
p
h
p
执
行
完
会
释
放
掉
所
有
的
资
源
,
所
以
名
字
啥
的
都
没
有
了
,
所
以
要
加
个
时
间
控
制
函
数
,
表
示
当
前
脚
本
在
执
行
过
程
中
,
不
会
立
即
结
束
,
而
是
需
要
等
待
一
定
的
时
间
,
s
l
e
e
p
(
10
)
等
待
十
秒
钟
.
.
.
查
看
文
件
的
上
传
信
息
v
a
r
d
u
m
p
(
_POST); form 表单使用post方式提交数据,因此使用post接收数据,接收到的是文件的名字 文件上传必须要在服务器端先开启文件上传的功能 在php.ini里面配置 post默认提交字符流数据,不能提交二进制数据,如果需要提交二进制数据,需要给表单额外增加一个属性:enctype=“multipart/form-data” 多功能表单数据 php执行完会释放掉所有的资源,所以名字啥的都没有了, 所以要加个时间控制函数,表示当前脚本在执行过程中,不会立即结束,而是需要等待一定的时间,sleep(10) 等待十秒钟... 查看文件的上传信息 var_dump(
POST);form表单使用post方式提交数据,因此使用post接收数据,接收到的是文件的名字文件上传必须要在服务器端先开启文件上传的功能在php.ini里面配置post默认提交字符流数据,不能提交二进制数据,如果需要提交二进制数据,需要给表单额外增加一个属性:enctype=“multipart/form−data”多功能表单数据php执行完会释放掉所有的资源,所以名字啥的都没有了,所以要加个时间控制函数,表示当前脚本在执行过程中,不会立即结束,而是需要等待一定的时间,sleep(10)等待十秒钟...查看文件的上传信息vardump(_FILES);
任何文件的上传,都会获得五个信息
验证文件的合法性,只需要验证文件信息里的error信息,只要为0表示没有任何错,还是要判断 每一个都要判断一下
移动临时文件
php提供了两个函数来实现文件的移动
move_uploaded_file 将文件直接移动到目标路径,不会保留源文件,
copy 将文件复制到目标路径