时时商务社区

标题: 使用PHP接受文件并获得其后缀名的方法 [打印本页]

作者: bewin83    时间: 2018-2-14 05:43

            HTML的form表单
用html的表单模拟一个文件上传的post请求,代码如下:
   
   
   
   
  File Upload
   
  
   
   
   
    Send this File:
   
   
   
   
  

   
注意:
要确保文件上传表单的属性是 enctype="multipart/form-data",否则文件上传不了
PHP
首先,需要解释一下PHP的全局变量$_FILES,此数组包含了所有上传的文件信息

  
  • $_FILE['userfile']['name'] : 客户端机器文件的原名称
      
  • $_FILE['userfile']['type'] : 文件的MIME类型
      
  • $_FILE['userfile']['size'] : 已上传的文件大小
      
  • $_FILE['userfile']['tmpname'] : 文件被上传后在服务器存储的临时文件名
      
  • $_FILE['userfile']['error'] : 和该文件上传的错误代码

    思路
    1、生成40位的随机字符串作为文件名
    2、根据文件是图片还是语音转存到不同的文件位置
    3、暂时不做文件大小和文件类型的校验

      function processFile($files, $type) {
        $uploadName = null;
        foreach ($files as $name => $value) {
          $originalName = $value['name'];
          $arr = explode(".", $originalName);
          $postfix = $arr[count($arr) - 1];
          $tmpPath = $value['tmp_name'];
          $tmpType = $value['type'];
          $tmpSize = $value['size'];
        }
         
        $newname = EhlStaticFunction::generateRandomStr(40).".".$postfix;
         
        switch ($type) {
          case 1 :  
            // 处理声音文件
            $destination = VIDEOUPLOADDIR.$newname;
            break;
          case 2 :
            // 处理图像文件
            $destination = IMAGEUPLOADDIR.$newname;
            break;
        }
         
        move_uploaded_file($tmpPath, $destination);
      }
    而获取所上传文件的后缀名则可以使用一下代码:
    HTML
      
      
      
      

      
      
      
      

    PHP
    结果示例:

                
                
    您可能感兴趣的文章:
  • php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
  • PHP文件上传后缀名与文件类型对照表整理
  • php中批量修改文件后缀名的函数代码
  • php中取得文件的后缀名?
  • PHP获取文件后缀名的三个函数
  • php一行代码获取文件后缀名实例分析
  • PHP实现批量修改文件后缀名的方法
  • PHP实现获取文件后缀名的几种常用方法
  • php上传功能集后缀名判断和随机命名(强力推荐)
  • php 如何获取文件的后缀名
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2