向服务器发送文件

html代码部分:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form method="post" action="files-post.php" enctype="multipart/form-data">
		<input type="file" name="files">
		<input type="submit" >
	</form>
</body>
</html>

这里作重要注意在form表单中提交文件时,需要在form表单中添加enctype属性

enctype的属性值有:

属性值作用
application/x-www-form-urlencoded(默认的)在发送前编码所有字符(默认) $1600
multipart/form-data$12不对字符编码。在使用包含文件上传控件的表单时,必须使用该值
text/plain空格转换为 “+” 加号,但不对特殊字符编码。

php代码部分:

<?php 
header('content-type:text/html;charset=utf-8');
   print_r($_FILES);
   sleep(5);
   move_uploaded_file($_FILES["files"]["tmp_name"],'./img/'.$_FILES["files"]["name"])
 ?>

*在不设置move_uploaded_file方法时,PHP页面返回的是: / Array (
[files] => Array (
[name] => weather.jpg
[type] => image/jpeg
[tmp_name] => C:\xampp\tmp\phpA529.tmp
[error] => 0
[size] => 34984 )
)*/

在不设置文件转移方法 move_uploaded_file(“移动的文件”,“文件移动的位置”)的时候,上传的文件在服务器上是没有的。因为我们所上传的文件都还是临时文件,在PHP代码执行完以后,临时文件将被销毁。设置了文件转移的方法,就可以吧文件转移到我们想要的地方。

观看是否完成上传的步骤

如若想暂时看我们的文件是否成功的完成上传的步骤,可以让PHP的代码执行的速度变慢一点,“睡一会”,用到sleep(秒数)方法,让PHP的代码没有那么快执行完,文件就不会那么快被销毁,就可以观察文件是否完成了上传。


PHP页面返回的是:


/* Array (
    [files] => Array (
    [name] => weather.jpg 
    [type] => image/jpeg
     [tmp_name] => C:\xampp\tmp\phpA529.tmp 
    [error] => 0
    [size] => 34984 )
    )*/

在设置转移放的的时候:

move_uploaded_file($_FILES["files"]["tmp_name"],'./img/'.$_FILES["files"]["name"])
后面设置转移的地方,需要给转移的文件去一个名字,可以直接用浏览器返回的files数组中的子对象中的名字
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值