我一直在尝试使用html和php上传mp3文件时遇到麻烦。它适用于我尝试的每种文件格式,但是mp3。
<form action="output.php" method="post" enctype="multipart/form-data" id="uploads">
<p>From computer<br />
<input name="userfile" type="file" /></p>
<p><input type="submit" class="send" value="Convert file" name="submit" /></p>
</form>
当我尝试使用print_r($ _ FILES)获取有关该文件的信息时,output.php会打印一个空数组。怎么会发生这种情况,有没有解决方案?
提前致谢!
问候!
答案 0 :(得分:0)
这是可以帮助您的代码。
<?php
$extensions = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma");//File formate here
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
if (($_FILES["file"]["type"] == "audio/mp3") //You can check another file uding or (||) operator
&& in_array($extension, $extensions))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>