如何上传mp3文件

时间:2014-04-06 11:32:55

标签: php

我试图获取一个表单将mp3或某些图像文件上传到文件夹 使用下面的代码我可以上传图像文件,但是当我尝试上传一个mp3时,我从我的其他块中得到错误Undefined index: file in C:\wamp\www\recordlabel\inc\soundclips.php on line 6和代码回声invalid file。有人可以提供帮助吗?

 $allowedExts = array("mp3", "jpeg", "jpg", "png");
 $temp = explode(".", $_FILES["file"]["name"]);
 $extension = end($temp);

 if ((($_FILES["file"]["type"] == "audio/mp3")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/jpg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/x-png")
        || ($_FILES["file"]["type"] == "image/png"))
        && in_array($extension, $allowedExts))
{
   if ($_FILES["file"]["error"] > 0)
   {
      echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
   }
   else
   {
      echo "Upload: " . $_FILES["file"]["name"] . "<br>";
      echo "Type: " . $_FILES["file"]["type"] . "<br>";
      echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
      echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

      if (file_exists("../soundclips/" . $_FILES["file"]["name"]))
      {
         echo $_FILES["file"]["name"] . " already exists. ";
      }
      else
      {
         move_uploaded_file($_FILES["file"]["tmp_name"],
         "../soundclips/" . $_FILES["file"]["name"]);
         echo "Stored in: " . "../soundclips/" . $_FILES["file"]["name"];
      }
   }
}
else
{
    echo "Invalid file";
}

这是我的表格

<form class='form1' action='../inc/soundclips.php' method='post'     
                                                   enctype='multipart/form-data'>
   <input type="hidden" name="id" value="<?php echo $pid; ?>"/>
   <b>Add Soundclip For <i><?php echo $e;?></i> </b> 
   <?php echo"<divclass='editimage'>";
   echo "<img class='resizedimage' src='{$row['image']}' />";
   echo"</div>";?><br /> 
   <b>Song</b><br /><input type=text size='60' name='asong' /><br />
   <input name='file' type="file" id="file"  /><br />
   <input type='submit' name='add' value='Add Soundclip' />
</form>

1 个答案:

答案 0 :(得分:4)

看起来您的mp3文件无法上传,因此$_FILES数组中缺少该文件。这可能是由于它的大小与图像文件相比。

请检查upload_max_filesize中的post_max_sizephp.ini设置,并允许比mp3文件更大的尺寸。