<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> </head> <body> <form action="shangchuancl.php" method="post" enctype="multipart/form-data"><!--action要处理的界面名。method="post"传递的方式。enctype="multipart/form-data"可上传任何文件--> <input type="file" name="ni" /><!--name="ni"用来传递提交的值ni--> <input type="submit" value="上传" /><!--按钮上传--> </form> </body> </html>
//var_dump($_FILES["ni"]);
//设置条件,给用户上传加控制
//1.控制上传类型
//2.控制上传大小
//3.防止文件名重复的方法
//修改保存的文件名
//用户名+时间戳+随机数+文件名(原来的文件名)他最常用*****
//流水号方式,在数据库里面作为主键值,每一次起名字的时候先看看最后多大完了加个1
//不修改保存文件名方式
//使用文件夹,把时间作为文件夹名称,自动创建的都是
//4.保存文件
//先判断上传文件是否出错
<?php if($_FILES["ni"]["error"]) { echo $_FILES["ni"]["error"];//判断如果出错直接输出他自身 } else { //上传文件没有出错 //第一步控制上传文件的类型并且大小也要满足.这里设置文件大小要小于1兆 if(($_FILES["ni"]["type"]=="image/jpeg" || $_FILES["ni"]["type"]=="image/png") && $_FILES["ni"]["size"]<1024000) { //防止文件名重复 //把以后上传的文件放在一个文件夹里,也就是找到文件夹存放的位置 $niname = "./file/".date("YmdHis").$_FILES["ni"]["name"];//时间戳date("YmdHis") //转换编码格式 $niname = iconv("UTF-8","gb2312",$niname);//国标gb2312 //判断文件是否存在 if(file_exists($niname))//exists存在的意思 { echo "该文件已存在!"; } else { //保存文件:move移动|uploaded上传|file文件//方法 move_uploaded_file($_FILES["ni"]["tmp_name"],$niname); } } else { echo "文件类型不正确!"; } } ?>
上传后结果: