文件上传
Posted 格调evo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件上传相关的知识,希望对你有一定的参考价值。
文件上传
<form action="upchuli.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="上传" /> </form>
1.控制上传文件的类型和大小
2.如果文件名重复出现覆盖
3.减少文件重名的概率 修改文件名 建文件夹
4.关于中文乱码问题
<?php
var_dump($_FILES["file"]);
if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<=102400)
{
//执行上传操作
//造一个存储路径
$yuan=$_FILES["file"]["tmp_name"];
$filename="./img/".date("YmdHis").$_FILES["file"]["name"];
//将存储路径的编码格式变为国标
$filename=iconv("UTF-8","gb2312",$filename);
//判断文件是否存在
if(file_exists($filename))
{
die( "文件已存在");
//exit();
}
//移动文件
move_uploaded_file($yuan,$filename);
}
else
{
echo "上传的文件不符合要求";
}
用户注册实现头像上传
<h1>注册</h1> <form action="zhucechuli.php" method="post" enctype="multipart/form-data"> <div>用户名:<input type="text" name="uid" /></div> <div>密码:<input type="text" name="pwd" /></div> <div>姓名:<input type="text" name="name" /></div> <div>性别:<input type="text" name="sex" /></div> <div>生日:<input type="text" name="birthday" /></div> <div>头像:<input type="file" name="pic" /></div> <input type="submit" value="注册" /> </form>
<?php include("../DBDA.class.php"); $db=new DBDA(); //控制上传格式 if(($_FILES["pic"]["type"]=="image/jpeg" || $_FILES["pic"]["type"]=="image/png") && $_FILES["pic"]["size"]<102400) { //处理文件名 $filename="./img/".date("YmdHis").$_FILES["pic"]["name"]; // 转编码格式 $filename=iconv("UTF-8","gb2312",$filename); //判断文件是否存在 if(!file_exists($filename)) { //执行上传文件 move_uploaded_file($_FILES["pic"]["tmp_name"],$filename); } } //向user表添加数据 $uid=$_POST["uid"]; $pwd=$_POST["pwd"]; $name=$_POST["name"]; $sex=$_POST["sex"]=="男"?true:false; $birthday=$_POST["birthday"]; $url="/0630wenjianshangchuan/".$filename; $sql="insert into user values(‘{$uid}‘,‘{$pwd}‘,‘{$name}‘,{$sex},‘{$birthday}‘,false,‘{$url}‘)"; $db->Query($sql,0); header("location:login.php");
<form action="loginchuli.php" method="post"> <h1>登录</h1> <div>用户名:<input type="text" name="uid" /></div> <div>密码:<input type="password" name="pwd" /></div> <input type="submit" value="登录" /> </form>
<?php session_start(); include("../DBDA.class.php"); $db=new DBDA(); $uid=$_POST["uid"]; $pwd=$_POST["pwd"]; /*$sql="select count(*) from user where Uid=‘($uid)‘ and Pwd=‘{$pwd}‘"; $zhi=$db->StrQuery($sql); if($zhi>0) { $_SESSION["uid"]=$uid; header("location:main.php"); } else { echo "登录失败"; }*/ $sql="select Pwd from user where Uid=‘{$uid}‘"; $mima=$db->StrQuery($sql); if($pwd==$mima && $pwd !="") { $_SESSION["uid"]=$uid; header("location:main.php"); } else { echo "用户名或密码错误"; }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <?php session_start(); if(empty($_SESSION["uid"])) { header("location:login.php"); exit(); } $uid=$_SESSION["uid"]; include("../DBDA.class.php"); $db=new DBDA(); $sql="select * from user where Uid=‘{$uid}‘"; $attr=$db->Query($sql); ?> <body> <div>用户名:<?php echo $attr[0][0] ?></div> <div>密码:<?php echo $attr[0][1] ?></div> <div>姓名:<?php echo $attr[0][2] ?></div> <div>性别:<?php echo $attr[0][3]?"男":"女" ?></div> <div>生日:<?php echo $attr[0][4] ?></div> <div>头像:<img src="<?php echo $attr[0][6] ?>" width="200" height="200"/></div> </body> </html>
以上是关于文件上传的主要内容,如果未能解决你的问题,请参考以下文章
ajaxFileUpload上传带参数文件及JS验证文件大小