最完整实用的PHP图片上传 代码插件片段

今天来做一个图片上传功能的插件,首先做一个html文件:text.php

复制代码
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档



文件上传



                    alt="" />

复制代码

做完后的效果:

最完整实用的PHP图片上传 代码插件片段_第1张图片

这样可以点击浏览选择图片,然后上传,现在我们再做怎样把选择的图片传到我们新建的img文件里来,在做一个php处理页面:upload.php

复制代码
php
//var_dump($_FILES["file"]);
//array(5) { ["name"]=> string(17) "56e79ea2e1418.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(43) "C:\Users\asus\AppData\Local\Temp\phpD07.tmp" ["error"]=> int(0) ["size"]=> int(454445) } 
//1.限制文件的类型,防止注入php或其他文件,提升安全
//2.限制文件的大小,减少内存压力
//3.防止文件名重复,提升用户体验
    //方法一:  修改文件名    一般为:时间戳+随机数+用户名
    // 方法二:建文件夹
    
//4.保存文件

//判断上传的文件是否出错,是的话,返回错误
if($_FILES["file"]["error"])
{
    echo $_FILES["file"]["error"];    
}
else
{
    //没有出错
    //加限制条件
    //判断上传文件类型为png或jpg且大小不超过1024000B
    if(($_FILES["file"]["type"]=="image/png"||$_FILES["file"]["type"]=="image/jpeg")&&$_FILES["file"]["size"]<1024000)
    {
            //防止文件名重复
            $filename ="./img/".time().$_FILES["file"]["name"];
            //转码,把utf-8转成gb2312,返回转换后的字符串, 或者在失败时返回 FALSE。
            $filename =iconv("UTF-8","gb2312",$filename);
             //检查文件或目录是否存在
            if(file_exists($filename))
            {
                echo"该文件已存在";
            }
            else
            {  
                //保存文件,   move_uploaded_file 将上传的文件移动到新位置  
                move_uploaded_file($_FILES["file"]["tmp_name"],$filename);//将临时地址移动到指定地址    
            }        
    }
    else
    {
        echo"文件类型不对";
    }
}
复制代码

现在我们看看效果怎么样:

最完整实用的PHP图片上传 代码插件片段_第2张图片

这个img为空文件,一张图片都没有,现在选择一张图片

最完整实用的PHP图片上传 代码插件片段_第3张图片

最完整实用的PHP图片上传 代码插件片段_第4张图片

 

第一张,点击选择后,再看看img文件

最完整实用的PHP图片上传 代码插件片段_第5张图片

看看现在上传成功了

你可能感兴趣的:(php,js)