php上传文件说明

这由两部分构成,一是html文件里的表单,二是php文件里的动作
一、html文件里的表单

<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">   
 <label for="file">文件名:</label>    <input type="file" name="f" id="fil"><br>   
 <input type="submit" name="submit" value="提交">
</form>
</body>
</html>

二、php文件里的动作

mkdir("upload");

move_uploaded_file($_FILES["f"]["tmp_name"], "upload/" . $_FILES["f"]["name"]);

以上两行是核心语句,
第一行是建立一个文件夹,文件夹位置与本php文件在同一文件夹下。如果没有此文件夹,第二行是无法执行的。
第二行,现讲上传原理,当点击html文件里的提交按键时,文件会被复制为一个有临时文件名的文件。而第二行的作用其实是移动这个文件到特定的位置,原文件名不能更改。move_uploaded_file(),里的uploaded是完成时,就说明文件已经上传完了,否则应该是upload_file()。$_FILE是php的预定义变量,专用于文件操作。$_FILES["f"]["name"]中的f,对应 <input type="file" name="f" id="fil">中的f。$_FILES["f"]["name"]中的name,对应电脑里的本地文件。
当然,在实际应用中,还应该在前面加上各种条件判断,比如如果文件已经存在,还要不要上传,否则,即使有也会直接覆盖。

三、当要上传批量文件时
html文件

<input type="file" name="f[]" id="fil">
多了中括号

php文件
move_uploaded_file($_FILES["f"]["tmp_name"][$i], "upload/" . $_FILES["f"]["name"][$i]);
没有中括号,但多了循环变量$i,当然,外面应该有循环控制语句.

rename("users/".$na."/" . $_FILES["f"]["name"][$i],"users/".$na."/" . $i.".gif");
还可以批量改名,但必须是在上传之后。

本段的核心目的就为说明f的对应关系。
整个文件上传教学,详见w3cschool、phpstudy、www.runoob.com等的php教程,均可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值