av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語言

如何判斷PHP文件上傳file是否已選擇上傳文件

時(shí)間:2025-05-30 03:21:38 php語言 我要投稿
  • 相關(guān)推薦

如何判斷PHP文件上傳file是否已選擇上傳文件

  PHP文件上傳時(shí)如何判斷file是否已選擇上傳文件呢?下面是小編給大家提供的實(shí)現(xiàn)方法,大家可以參考閱讀,更多詳情請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)。

  一個(gè)合格的程序員在實(shí)現(xiàn)數(shù)據(jù)入庫(kù)中時(shí)我們都會(huì)有一些非常嚴(yán)密的過濾與數(shù)據(jù)規(guī)則,像我們文件上傳時(shí)在前段要判斷用戶是否選擇上傳文件同時(shí)在后臺(tái)也可判斷是否有上傳的文件,本文實(shí)例即對(duì)此做一較為深入的分析。

  如下html代碼所示:

   代碼如下:

  <form action="?" method="post" enctype='multipart/form-data'>

  文件上傳:<input type="file" name="file" id="file"/>

  <input type="submit" id="send" value="提交"/>

  </form>

  我們最常用的在前端簡(jiǎn)單的進(jìn)行判斷

   代碼如下:

  <script>

  var send=document.getElementById("send");

  send.onclick=function(){

  var file=document.getElementById("file").value;

  if(file.length<1){

  alert('請(qǐng)選擇圖片');

  return false;

  }

  }

  </script>

  如果要做真正的安全我們需要在后臺(tái)進(jìn)入判斷處理

   代碼如下:

  <?php

  //判斷pic文件框是否已經(jīng)選擇文件

  if(!empty($_FILES['file']['tmp_name'])){

  echo'已選擇文件';

  }else{

  echo'請(qǐng)選擇文件';

  }

  //PS:$_FILES后面的['tmp_name']一定不要忘寫,它表示是一個(gè)臨時(shí)的意思

  ?>

  安例分析

  js判斷是比較籠統(tǒng)了我們只是使用了file=document.getElementById("file").value;來判斷file有沒有值或不為空了,這樣只要輸入一個(gè)數(shù)字就可以直接提交了,所以我們需要進(jìn)入如上傳文件的用戶名限制

  如

   代碼如下:

  function CheckWorkFile()

  {

  var obj=document.getElementById('fuMain');

  if(obj.value=='')

  {

  alert('請(qǐng)選擇要上傳的作業(yè)書文件');

  return false;

  }

  var stuff=obj.value.match(/^(.*)(\.)(.{1,8})$/)[3];

  if(stuff!='doc')

  {

  alert('文件類型不正確,請(qǐng)選擇.doc文件');

  return false;

  }

  return true;

  }

  對(duì)于php處理我們也只使用了if(!empty($_FILES['file']['tmp_name'])){來判斷不為空了,其實(shí)這樣也是不合理的

  如我們可以如此處理

   代碼如下:

  function file_type($filename)

  {

  $file = fopen($filename, "rb");

  $bin = fread($file, 2); //只讀2字節(jié)

  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

  這樣我們可以限制上傳文件類型的同時(shí)也給程序做了一個(gè)安全處理

【如何判斷PHP文件上傳file是否已選擇上傳文件】相關(guān)文章:

PHP實(shí)現(xiàn)文件上傳和多文件上傳07-31

php文件怎么上傳06-21

PHP文件上傳源碼分析10-13

php文件上傳后端處理方法05-05

jQuery Mobile + PHP實(shí)現(xiàn)文件上傳10-20

php實(shí)現(xiàn)通過ftp上傳文件07-07

PHP實(shí)現(xiàn)大文件上傳源代碼10-21

用PHP實(shí)現(xiàn)文件上傳二法09-10

php多個(gè)文件及圖片上傳實(shí)例詳解08-02