• 技术文章 >后端开发 >php教程

    PHP文件上传判断file是否己选择上传文件的方法,_PHP教程

    2016-07-13 10:14:31原创607

    PHP文件上传判断file是否己选择上传文件的方法,


    本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。具体方法如下:

    一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台也可判断是否有上传的文件,本文实例即对此做一较为深入的分析。

    如下html代码所示:

    复制代码 代码如下:

    文件上传:

    我们最常用的在前端简单的进行判断

    复制代码 代码如下:

    如果要做真正的安全我们需要在后台进入判断处理
    复制代码 代码如下:
    <?php
    //判断pic文件框是否已经选择文件
    if(!empty($_FILES['file']['tmp_name'])){
    echo'已选择文件';
    }else{
    echo'请选择文件';
    }
    //PS:$_FILES后面的['tmp_name']一定不要忘写,它表示是一个临时的意思
    ?>

    安例分析

    js判断是比较笼统了我们只是使用了file=document.getElementById("file").value;来判断file有没有值或不为空了,这样只要输入一个数字就可以直接提交了,所以我们需要进入如上传文件的用户名限制

    复制代码 代码如下:
    function CheckWorkFile()
    {
    var obj=document.getElementById('fuMain');
    if(obj.value=='')
    {
    alert('请选择要上传的作业书文件');
    return false;
    }
    var stuff=obj.value.match(/^(.*)(\.)(.{1,8})$/)[3];
    if(stuff!='doc')
    {
    alert('文件类型不正确,请选择.doc文件');
    return false;
    }
    return true;
    }

    对于php处理我们也只使用了if(!empty($_FILES['file']['tmp_name'])){来判断不为空了,其实这样也是不合理的
    如我们可以如此处理
    复制代码 代码如下:
    function file_type($filename)
    {
    $file = fopen($filename, "rb");
    $bin = fread($file, 2); //只读2字节
    fclose($file);
    $strInfo = @unpack("C2chars", $bin);
    $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
    $fileType = '';
    switch ($typeCode)
    {
    case 7790:
    $fileType = 'exe';
    break;
    case 7784:
    $fileType = 'midi';
    break;
    case 8297:
    $fileType = 'rar';
    break;
    case 8075:
    $fileType = 'zip';
    break;
    case 255216:
    $fileType = 'jpg';
    break;
    case 7173:
    $fileType = 'gif';
    break;
    case 6677:
    $fileType = 'bmp';
    break;
    case 13780:
    $fileType = 'png';
    break;
    default:
    $fileType = 'unknown: '.$typeCode;
    }
    //Fix
    if ($strInfo['chars1']=='-1' AND $strInfo['chars2']=='-40' ) return 'jpg';
    if ($strInfo['chars1']=='-119' AND $strInfo['chars2']=='80' ) return 'png';
    return $fileType;
    }
    echo file_type('start.php'); // 6063 or 6033

    这样我们可以限制上传文件类型的同时也给程序做了一个安全处理

    希望本文所述对大家的PHP程序设计有所帮助。

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/909343.htmlTechArticlePHP文件上传判断file是否己选择上传文件的方法, 本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 文件 上传
    上一篇:利用PHP函数计算中英文字符串长度的方法,_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文带你了解PHP中的文件与目录操作• 关于exec函数的返回值有关问题 • PHP的类自动加载机制_PHP教程• 限制上传文件类型程序代码_PHP教程• php邮件发送,php发送邮件的类_PHP教程
    1/1

    PHP中文网