极致网信息博客中心 Welcome to Guangxi www.zunsm.com Information Technology Co., Ltd.

:在PHP中文件类型检测

时间::2013-02-05    来源:本站     作者:wongshing 阅读次数:
实例说明
  在开发程序的过程中,很多时候都需要获取都文件的后缀名,并根据后缀名作出一些判断。那么如何才能获取文件的后缀名呢?在本实例中将对这个问题进行解答。运行本实例,将检测表单中提交文件的后缀名,并根据后缀名称,作为相应的判断。
关键技术
  在本实例中应用move_uploaded_file()函数实现文件上传的操作,并根据文件的后缀名进行判断,将不同类型的文件存储在不同的服务器文件夹下。
  获取上传文件后缀名时,首先,应用$_FILES全局变量获取上传文件的名称。然后,应用strstr()函数对上传文件的名称进行截取,截取字符串中”.“后的所有字符串。最后,应用strtolower()函数将字符串转换成小写。
    strstr()函数,用于获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串,语法如下:
    string strstr(string haystack,string needle)
    参数说明:
    Haystack:必要参数,指定从哪个字符串中进行搜索。
    Needle:必要参数,指定搜索的对象。如果该参数是一个数值,那么将搜索与这个数值的ASCII值相匹配的字符。如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回FALSE。
设计过程
  (1)创建index.php文件。
  (2)添加表单,设置文件域、提交按钮,使用POST方法,设置enctype="multipart/form-data",将数据提交到本页
  (3)通过$_FILES获取上传文件的相关信息。
  (4)应用is_dir()函数判断指定的服务器文件夹是否存在,如不存在则应用mkdir()函数创建文件夹。
  (5)应用is_uploaded_file()函数判断文件是否是HTPP POST上传。
  (6)获取上传文件名称的后缀名,根据后缀名的不同,定义不同的存储路径。
  (7)应用move_uploaded_file()函数执行文件上传的操作。
  index.php文件的关键代码如下:
  <?php
  if(!empty($_FILES [up_picture][name])){   //判断上传内容是否为空
  if($_FILES['up_picture']['error']>0){   //判断文件是否可以上传到服务器
       echo"上传错误:";;
       switch($_FILES['up_picture']['error']){
              case 1:
                    echo"上传文件大小超出配置文件规定值";
                    break;
              case 2:
                    echo"上传文件大小超出表单中约定值";
                    break;
              case 3:
                    echo"上传文件不全";
                    break;
              case 4:
                    echo"没有上传文件";
                    break;
        }
  }
  }else{              
  if(!is_dir("./txt/")){     //判断指定目录是否存在
        mkdir("./txt/");       //创建目录
  }
  if(!is_dir("./pic/")){     //判断指定目录是否存在
        mkdir("./pic/");       //创建目录
  }
  if(!is_dir("./fla/")){     //判断指定目录是否存在
        mkdir("./fla/");       //创建目录
  }
  }
  if(is_uploaded_file($_FILES['up_picture']['tmp_name'])){   //判断文件是否是HTPP POST上传
  $type=$_FILES['up_picture']['name'];      //获取上传文件的名称
  $types=strtolower(strstr($type,'.'));     //获取上传文件的后缀
  if($types=".txt"||$tyles==".doc"){
        $path='./txt/'.time().strstr($_FILES['up_picture']['name'],'.'); //定义上传文件名称和存储位置
  }elseif($types==".jpg"||$tyles==".gif"||$tyles==".bmp"){
         $path='./pic/'.time().strstr($_FILES['up_picture']['name'],'.'); //定义上传文件名称和存储位置
  }else{
          $path='./fla/'.time().strstr($_FILES['up_picture']['name'],'.'); //定义上传文件名称和存储位置
  }
  if(!move_uploaded_file($_FILES['up_picture']['tmp_name'],$path)){ //执行上传操作
      echo"上传失败!";
  }else{
       echo"文件类型:".$types."上传成功,大小为:  ".$_FILES['up_picture']['size'];
  }
  }else{
  echo"上传文件:".$FILES['up_picture']['name']."不合法!";
  }
  ?>
秘笈心法
  文件类型检测的妙用。
  文件后缀名的获取可以应用到很多地方,最为常用的就是通过它来控制上传文件的类型,另外在文件的读取中,用于判断哪些文件可以读取,哪些不可以。   


网站小编: 喜欢本站的话请大家把本站告诉给你朋友哦!地址是 幸运农场走势图-重庆彩 www.zunsm.com QQ群:134624762
web设计/网站开发
南宁网站建设版权所有
南宁网站建站首页 关于我们 联系我们 网站地图 南宁网站建设 网站制作 网页设计 广西网站优化 php建站
幸运农场走势图-重庆彩

用户名:

密 码:

             忘记密码?