php文件上传

文件上传功能是日常生活中经常遇到的,例如注册账号时上传头像,邮箱里上传附件等,下面是简单的一个图片上传功能:

先写form表单,文件样式是flie属性,这里的method如果只是单纯上传文件的话可以写也可以不写,如果有注册账号密码的话就必须写:

<body>
<form action="filechuli.php" method="post" enctype="multipart/form-data"><!--数据类型-->
请选择文件:<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
</body>
</html>

处理页面有个逻辑,就是文件是由客户端传给服务器,由服务器暂时储存,而直把信息传给处理页面,然后再通过处理页面的处理将临时文件保存到指定文件夹:

<?php
//取文件信息
$arr = $_FILES["file"];


//加限制条件
//1.文件类型
//2.文件大小
//3.保存的文件名不重复

if(($arr["type"]=="image/jpeg" || $arr["type"]=="image/png") && $arr["size"]<1024000)
{
    //临时文件的路径
    //$arr["tmp_name"];
    
    //上传的文件存放的位置
    //1.用户名加时间戳
    //2.类似网盘,使用文件夹来防止重复
    $filename = "./image/".time().$arr["name"];
    //保存之前判断该文件是否存在
    if(file_exists($filename))
    {
        echo "该文件已存在";
    }
    else
    {
        //转换编码格式
        $filename = iconv("UTF-8","gb2312",$filename);
        
        //移动临时文件到上传的文件存放的位置
        //1.临时文件的路径 2.存放的路径
        move_uploaded_file($arr["tmp_name"],$filename);
    }
}
else
{
    echo "上传的文件大小或类型不正确";
}

最终效果图:

文件夹里就有了这张图片了:

 

posted @ 2017-05-18 19:43  梦深深处  阅读(202)  评论(0编辑  收藏  举报