加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 智能办公、应用安全、终端安全、数据可视化、人体识别!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP文件上传判断file是不是己选择上传文件

发布时间:2023-11-10 10:02:42 所属栏目:PHP教程 来源:互联网
导读:   如下html代码如



   代码如下



  1



  文件上传:



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



   代码如下



  1



  如果要做真正的安全
  如下html代码如
 
   代码如下
 
  1
 
  文件上传:
 
  我们最常用的在前端简单的进行判断
 
   代码如下
 
  1
 
  如果要做真正的安全我们需要在后台进入判断处理
 
   代码如下 复制代码
 
  //判断pic文件框是否已经选择文件
 
  if(!empty($_FILES['file']['tmp_name'])){
 
  echo'已选择文件';
 
  }else{
 
  echo'请选择文件';
 
  }
 
  //PS:$_FILES后面的['tmp_name']一定不要忘写,它表示是一个临时的意思
 
  ?>
 
  安例分析
 
  js判断是比较笼统了我们只是使用了file=document.getElementById("file").value;来判断file有没有值或不为空了,这样只要输入一个数字就可以直接提交了,所以我们需要进入如上传文件的用户名限制
 
  如
 
   代码如下 复制代码
 
  functionCheckWorkFile()
 
  {
 
  varobj=document.getElementById('fuMain');
 
  if(obj.value=='')
 
  {
 
  alert('请选择要上传的作业书文件');
 
  returnfalse;
 
  }
 
  varstuff=obj.value.match(/^(.*)(\.)(.{1,8})$/)[3];
 
  if(stuff!='doc')
 
  {
 
  alert('文件类型不正确,请选择.doc文件');
 
  returnfalse;
 
  }
 
  returntrue;
 
  }
 
  对于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编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章