IT虾米网

php上传文件详解

wyy 2018年06月24日 数据库 404 0
    上传图片   
       
    注意:一定要添加这一句(enctype="multipart/form-data"),告诉浏览器上传文件,服务器发送属性提交数据按“二进制流方式处理”。   
       
    <!--HTML页面开始-->   
       
    <form action="upl.php" method="post" enctype="multipart/form-data">   
    头像<input type="file" name="tupian" value="" />   
    <input type="submit" value="上传" />   
    </form>   
    <!--HTML页面结束-->   
       
    预定义变量$_FILES数组有5个内容:   
    $_FILES['userfile']['name']——客户端机器文件的原名称   
    $_FILES['userfile']['type']——文件的 MIME 类型   
    $_FILES['userfile']['size']——已上传文件的大小,单位为字节   
    $_FILES['userfile']['tmp_name']——文件被上传后在服务端储存的临时文件名   
    $_FILES['userfile']['error']——和该文件上传相关的错误代码   
       
    其中$_FILES['userfile']['error']的可以有下列取值和意义:   
    0——没有错误发生,文件上传成功。    
    1——上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。    
    2——上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。    
    3——文件只有部分被上传。    
    4——没有文件被上传。   
       
    6——找不到临时文件夹。   
       
    7——没有写权限。   
       
       
       
    <!--PHP页面 upl.php页面开始-->   
    <?php   
    date_default_timezone_set("Asia/Chongqing");   
    //超级数组   
    //echo "<pre>";   
    //var_dump($_FILES);   
    //echo"</pre>";   
       
       
       
    //文件上传   
    if(empty($_FILES)){                //判断文件是否为空   
        echo "上传文件过大,请弄清楚哦";   
        exit;   
    }   
    if($_FILES['tupian']['error']>0){     //判断文件是否出现错误           
        echo "上传文件有误;请检测后再试";                                        
        exit;   
    }   
    $allowtype=array('jpg','png','jpeg','gif');       //允许文件上传的后缀名   
    $mulu="image/";   //创建目录名称   
    $rs=explode(".",$_FILES['tupian']['name']);          //切割图片名称   
       
          
    $houzhui=strtolower($rs[1]);    //取后缀名用小写的方式   
    if(!in_array($houzhui,$allowtype)){    //如果上传的文件里面没有图片类型   
        echo "上传文件非图片";   
        exit;   
    }   
    //上传文件名叫什么   
    $newname=date('YmdHis').rand().'.'.$houzhui; //时间再加一个随机数名字肯定不会重名了   
    $linshi=$_FILES['tupian']['tmp_name'];  //临时的图片名字   
    $xinmulu=$mulu.$newname;           //新目录   
    $rs=move_uploaded_file($linshi,$xinmulu);   //移动到新目录中去   
    if($rs){   
        echo "恭喜您,上传成功";   
    }else{   
        echo "上传失败";   
    }   
    <!--PHP页面 upl.php页面结束-->  

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Mysql存储过程代码例子详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。