上传就是本地的文件,比如说一张图片放到服务器上
先做一个form表单
<form action="shangchuan.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="上传" /> </form>
enctype="multipart/form-data" 如果是用来上传文件的,就需要额外加这个属性
这样就可以提交文件了
这时处理页面使用FILES取
如何把文件存下来?安全保险
1.控制上传文件类型
2.控制上传文件大小
3.防止文件名重复
1. 修改保存的文件名
用户名+时间戳+随机数+文件名,这样可以防止重复
流水号 做法就稍微复杂一些 每次我取名字的时候看最后的多大,然后再加个1
使用文件夹
public/1ch/2017-2-12/1.jpg 这样也可以尽量避免重名,但不是很精确
4.保存文件
//判断文件上传是否出错 if($_FILES["file"]["error"]) { echo $_FILES["file"]["error"]; } else { //控制上传文件的类型,大小 if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000) { //找到文件存放的位置 $filename = "./file/".date("YmdHis").$_FILES["file"]["name"]; //转换编码格式 $filename = iconv("UTF-8","gb2312",$filename); //判断文件是否存在 if(file_exists($filename)) { echo "该文件已存在!"; } else { //保存文件 move_uploaded_file($_FILES["file"]["tmp_name"],$filename); } } else { echo "文件类型不正确!"; } }