sh0wtym3 Posted September 23, 2008 Share Posted September 23, 2008 Hey all, I'm trying to add a script to my site that will allow users to upload mp3 files, but i want to restrict it to ONLY MP3 files. However the script below won't let ANY files be uploaded, not even MP3, and I can't tell why. <?php $target = "uploads/"; $target = $target . basename( $_FILES['uploaded']['name']) ; $ok=1; if (!($uploaded_type=="audio/mpeg")) { echo "You may only upload MP3 files.<br>"; $ok=0; } //Here we check that $ok was not set to 0 by an error if ($ok==0) { Echo "The file was not uploaded. Please try again."; } //If everything is ok we try to upload it else { if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else { echo "Sorry, there was a problem uploading your file."; } } ?> Thanks in advance. Quote Link to comment Share on other sites More sharing options...
JonnoTheDev Posted September 23, 2008 Share Posted September 23, 2008 Bad Syntax if (!($uploaded_type=="audio/mpeg")) { Use if($uploaded_type != "audio/mpeg") { Quote Link to comment Share on other sites More sharing options...
nadeemshafi9 Posted September 23, 2008 Share Posted September 23, 2008 i think you can do it in teh file input feild <input type="file" accept="audio/x-mpeg" /> Quote Link to comment Share on other sites More sharing options...
sh0wtym3 Posted September 23, 2008 Author Share Posted September 23, 2008 Ah, thanks Neil I didn't spot that. I will try it and if it works I will mark this thread solved. And Nadeem thank you for your input as well. Quote Link to comment Share on other sites More sharing options...
sh0wtym3 Posted September 23, 2008 Author Share Posted September 23, 2008 I changed the syntax, but it is still not letting me upload any MP3 files. I know it has to do with the portion of the script below, because when I remove it I can upload any file type just fine. if($uploaded_type != "audio/mpeg") { echo "Sorry, you may only upload MP3 files.<br>"; $ok=0; } Quote Link to comment Share on other sites More sharing options...
JonnoTheDev Posted September 23, 2008 Share Posted September 23, 2008 Where in your code is this variable being set? $uploaded_type I cant see it at all Quote Link to comment Share on other sites More sharing options...
sh0wtym3 Posted September 23, 2008 Author Share Posted September 23, 2008 Its not set, sorry I'm pretty new to PHP. How would I go about setting it? Quote Link to comment Share on other sites More sharing options...
sh0wtym3 Posted September 23, 2008 Author Share Posted September 23, 2008 Ok I figured it out, the $uploaded_type needed to be audio/mpeg3, not audio/mpeg. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.