Heim  >  Artikel  >  Backend-Entwicklung  >  使用PHP接受文件并获得其后缀名的方法

使用PHP接受文件并获得其后缀名的方法

PHPz
PHPzOriginal
2016-05-16 20:08:561166Durchsuche

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

File UploadSend this File:

注意:

要确保文件上传表单的属性是 enctype="multipart/form-data",否则文件上传不了

首先,需要解释一下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); 
  }

更多相关教程请访问 php编程从入门到精通全套视频教程

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn