文件的操作,如何做文件上传

上传就是本地的文件,比如说一张图片放到服务器上

先做一个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 "文件类型不正确!";
    }
}

 

 

       

posted @ 2017-01-12 11:14  欧元  阅读(946)  评论(0编辑  收藏  举报