MP3 Mime upload problem

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
bfearns
Forum Newbie
Posts: 1
Joined: Tue Sep 18, 2007 6:56 am

MP3 Mime upload problem

Post by bfearns »

feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


I've copied this upload script from somewhere on the net.

I've tried similar scripts in the past and been able to upload any file type apart from mp3s.

In this script I've added the line:

Code: Select all

echo "This is type: " . $_FILES["file"]["type"];
but it always comes back blank?! It would seem that it cannot recognise what file type it is. Has anyone seen this before?

I've tried various different mp3s and they all have the same problem. As I said, all other file types (like word docs etc) upload ok (using other scripts).

Its an apache server and it does have mp3s as a registered mime type.

I can't think what else it could be? something on the server perhaps? I wouldn't think it is this code as I've just taken it from another site.

Cheers.

Code: Select all

<html>

<head>

<title>Upload MP3</title>

<?php

if($_POST['submit']=="Upload") {
if ($_FILES['file']['name'] != "") {
if (($_FILES['file']['type'] == "audio/mpeg") || ($_FILES['file']['type'] == "application/force-download")) {
if ($_FILES["file"]["size"] < 10097152) {
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
echo "File has been stored in your uploads directory.";}
else { echo "Please upload a file that is under 10 mb!";}
} else {
echo "This is type: " . $_FILES["file"]["type"];
exit;}
} else { echo "Please enter a file.";}
}
?>

</head>

<body>

<p style="font-family: verdana;">Please select a file to upload: </p>

<br />

<form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data">

<input type="file" name="file" size="40" />

<br /><br />

<input type="submit" name="submit" value="Upload" />

<br /><br />

<span style="font-family: verdana; font-size: 12px;">* only mp3 files under 2 megabytes are allowed.</span>

</form>

</body>

</html>

feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
User avatar
s.dot
Tranquility In Moderation
Posts: 5001
Joined: Sun Feb 06, 2005 7:18 pm
Location: Indiana

Post by s.dot »

The "type" value is set by the browser (if it's set at all). So, you really shouldn't check that. You could use mime_content_type() which the manual says has been deprecated in favor of file info.
Set Search Time - A google chrome extension. When you search only results from the past year (or set time period) are displayed. Helps tremendously when using new technologies to avoid outdated results.
Post Reply