<tfoot id='qejvG'></tfoot>
      • <bdo id='qejvG'></bdo><ul id='qejvG'></ul>
      1. <legend id='qejvG'><style id='qejvG'><dir id='qejvG'><q id='qejvG'></q></dir></style></legend>

        <i id='qejvG'><tr id='qejvG'><dt id='qejvG'><q id='qejvG'><span id='qejvG'><b id='qejvG'><form id='qejvG'><ins id='qejvG'></ins><ul id='qejvG'></ul><sub id='qejvG'></sub></form><legend id='qejvG'></legend><bdo id='qejvG'><pre id='qejvG'><center id='qejvG'></center></pre></bdo></b><th id='qejvG'></th></span></q></dt></tr></i><div id='qejvG'><tfoot id='qejvG'></tfoot><dl id='qejvG'><fieldset id='qejvG'></fieldset></dl></div>

        <small id='qejvG'></small><noframes id='qejvG'>

        .mp3 文件类型上传

        .mp3 Filetype Upload(.mp3 文件类型上传)
            <bdo id='qoXHc'></bdo><ul id='qoXHc'></ul>
          • <i id='qoXHc'><tr id='qoXHc'><dt id='qoXHc'><q id='qoXHc'><span id='qoXHc'><b id='qoXHc'><form id='qoXHc'><ins id='qoXHc'></ins><ul id='qoXHc'></ul><sub id='qoXHc'></sub></form><legend id='qoXHc'></legend><bdo id='qoXHc'><pre id='qoXHc'><center id='qoXHc'></center></pre></bdo></b><th id='qoXHc'></th></span></q></dt></tr></i><div id='qoXHc'><tfoot id='qoXHc'></tfoot><dl id='qoXHc'><fieldset id='qoXHc'></fieldset></dl></div>
                  <tbody id='qoXHc'></tbody>

                <small id='qoXHc'></small><noframes id='qoXHc'>

              • <tfoot id='qoXHc'></tfoot>
                <legend id='qoXHc'><style id='qoXHc'><dir id='qoXHc'><q id='qoXHc'></q></dir></style></legend>

                  本文介绍了.mp3 文件类型上传的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在开发一个 PHP 上传脚本,它允许上传 .mp3 文件等.我创建了一个数组,它指定了允许的文件类型,包括 mp3,并将最大上传限制设置为 500MB:

                  I'm working on a PHP upload script which allows .mp3 file uploads amongst others. I've created an array which specifies permitted filetypes, including mp3s, and set a maximum upload limit of 500MB:

                  // define a constant for the maximum upload size
                  define ('MAX_FILE_SIZE', 5120000);
                  
                  // create an array of permitted MIME types
                  $permitted = array('application/msword', 'application/pdf', 'text/plain', 'text/rtf', 'image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/tiff', 'application/zip', 'audio/mpeg', 'audio/mpeg3', 'audio/x-mpeg-3', 'video/mpeg', 'video/mp4', 'video/quicktime', 'video/x-ms-wmv', 'application/x-rar-compressed');
                  

                  到目前为止,在测试中,所有指定的文件类型都已成功上传,但由于某种原因,它出现了 .mp3 错误.正如您在上面看到的,我已经包含了音频/mpeg、音频/mpeg3 和音频/x-mpeg-3,但它们似乎都没有什么不同.

                  So far in testing all specified filetypes have been successfully uploaded but for some reason it comes up with an error for .mp3. As you can see above I've included audio/mpeg, audio/mpeg3, and audio/x-mpeg-3 but none of them seem to make a difference.

                  有人可以提出问题所在并指出允许上传 .mp3 所需的音频类型吗?

                  Can someone suggest what the problem could be and also indicate which audio type is the one needed to allow .mp3 uploads?

                  谢谢

                  更新:我用来检查文件的代码如下:

                  Update: The code I'm using to run the check on the file is as follows:

                  // check that file is within the permitted size
                          if ($_FILES['file-upload']['size'][$number] > 0 || $_FILES['file-upload']['size'][$number] <= MAX_FILE_SIZE) {
                              $sizeOK = true;
                          }
                  
                          // check that file is of an permitted MIME type
                          foreach ($permitted as $type) {
                              if ($type == $_FILES['file-upload']['type'][$number]) {
                                  $typeOK = true;
                                  break;
                              }
                          }
                  
                          if ($sizeOK && $typeOK) {
                              switch($_FILES['file-upload']['error'][$number]) {
                                  case 0:
                                      // check if a file of the same name has been uploaded
                                      if (!file_exists(UPLOAD_DIR.$file)) {
                                          // move the file to the upload folder and rename it
                                          $success = move_uploaded_file($_FILES['file-upload']['tmp_name'][$number], UPLOAD_DIR.$file);
                                      }
                                      else {
                                          // strip the extension off the upload filename
                                          $filetypes = array('/.doc$/', '/.pdf$/', '/.txt$/', '/.rtf$/', '/.gif$/', '/.jpg$/', '/.jpeg$/', '/.png$/', '/.tiff$/', '/.mpeg$/', '/.mpg$/', '/.mp4$/', '/.mov$/', '/.wmv$/', '/.zip$/', '/.rar$/', '/.mp3$/');
                                          $name = preg_replace($filetypes, '', $file);
                                          // get the position of the final period in the filename
                                          $period = strrpos($file, '.');
                                          // use substr() to get the filename extension
                                          // it starts one character after the period
                                          $filenameExtension = substr($file, $period+1);
                                          // get the next filename    
                                          $newName = getNextFilename(UPLOAD_DIR, $name, $filenameExtension); 
                                          $success = move_uploaded_file($_FILES['file-upload']['tmp_name'][$number], UPLOAD_DIR.$newName);
                                      }
                                      if ($success) {
                                          $result[] = "$file uploaded successfully";
                                      }
                                      else {
                                          $result[] = "Error uploading $file. Please try again.";
                                      }
                                      break;
                                  case 3:
                                      $result[] = "Error uploading $file. Please try again.";
                                  default:
                                      $result[] = "System error uploading $file. Contact webmaster.";
                              }
                          }
                          elseif ($_FILES['file-upload']['error'][$number] == 4) {
                              $result[] = 'No file selected';
                          }
                          else {
                              $result[] = "$file cannot be uploaded. Maximum size: $max. Acceptable file types: doc, pdf, txt, rtf, gif, jpg, png, tiff, mpeg, mpg, mp3, mp4, mov, wmv, zip, rar.";
                          }
                  

                  我得到底部 else 结果告诉我文件大小错误或扩展名不被允许.

                  I'm getting the bottom else result telling me either the file size is wrong or the extension isn't allowed.

                  更新 2:我已经运行了 _FILES 数组的 print_r,希望能提供更多信息.结果是:

                  Update 2: I've run a print_r of the _FILES array to hopefully provide a little more info. The results are:

                  数组([文件上传] => 数组([名称] => 数组([0] => 莫扎特.mp3[1] =>[2] =>)

                  Array ( [file-upload] => Array ( [name] => Array ( [0] => Mozart.mp3 [1] => [2] => )

                          [type] => Array
                              (
                                  [0] => audio/mpg
                                  [1] => 
                                  [2] => 
                              )
                  
                          [tmp_name] => Array
                              (
                                  [0] => /Applications/MAMP/tmp/php/phpgBtlBy
                                  [1] => 
                                  [2] => 
                              )
                  
                          [error] => Array
                              (
                                  [0] => 0
                                  [1] => 4
                                  [2] => 4
                              )
                  
                          [size] => Array
                              (
                                  [0] => 75050
                                  [1] => 0
                                  [2] => 0
                              )
                  
                      )
                  

                  )

                  推荐答案

                  MAX_FILE_SIZE 是以字节为单位的值

                  MAX_FILE_SIZE is a value in Bytes

                  5120000 不是 500 MB.我估计是5MB.

                  5120000 is not 500 MB. It's 5MB by my reckoning.

                  您还需要检查您没有超过 php.ini 文件中的post_max_size"和upload_max_size"变量

                  You'll also need to check that you're not exceeding the "post_max_size" and "upload_max_size" variables in your php.ini file

                  其次,mp3 可以是以下任何一种 mimetypes

                  Secondly, an mp3 can be any of the following mimetypes

                  • 音频/mpeg
                  • 音频/x-mpeg
                  • 音频/mp3
                  • 音频/x-mp3
                  • 音频/mpeg3
                  • 音频/x-mpeg3
                  • 音频/mpg
                  • 音频/x-mpg
                  • 音频/x-mpegaudio

                  http://fileext.com/file-extension/MP3

                  这篇关于.mp3 文件类型上传的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以
                  PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的
                  mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)
                  Laravel Gmail Configuration Error(Laravel Gmail 配置错误)
                  Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)
                  Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)
                  • <bdo id='zuMog'></bdo><ul id='zuMog'></ul>
                    <i id='zuMog'><tr id='zuMog'><dt id='zuMog'><q id='zuMog'><span id='zuMog'><b id='zuMog'><form id='zuMog'><ins id='zuMog'></ins><ul id='zuMog'></ul><sub id='zuMog'></sub></form><legend id='zuMog'></legend><bdo id='zuMog'><pre id='zuMog'><center id='zuMog'></center></pre></bdo></b><th id='zuMog'></th></span></q></dt></tr></i><div id='zuMog'><tfoot id='zuMog'></tfoot><dl id='zuMog'><fieldset id='zuMog'></fieldset></dl></div>

                      <tbody id='zuMog'></tbody>
                    <tfoot id='zuMog'></tfoot>

                      1. <small id='zuMog'></small><noframes id='zuMog'>

                      2. <legend id='zuMog'><style id='zuMog'><dir id='zuMog'><q id='zuMog'></q></dir></style></legend>