attaboy Posted April 17, 2013 Share Posted April 17, 2013 I have code to upload mp3 to a server when run from my godaddy account it works fine when I run locally I get "invalid file" which is a message generated from the script. I looked through my php.ini file amd dindn't find anything, maybe I just don't know what to look for. I'm sure there must be a setting somewhere in some configuration file that would fix my problem. here is the code <!doctype html> <html> <head> <title> upload songs </title> </head> <body> <form action="upload_songs.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file"><br> <input type="submit" name="submit" id="submit" value="Submit"> </form> <?php if (isset($_POST["submit"])) { $path = './upload/'; $maxFileSize = 1 * (1024 * 1024 * 20); // 20Mb $allowedExts = array("mp3", "wma", "aif"); $allowedMimes = array("audio/mp3", "audio/mpeg", "audio/x-ms-wma", "audio/x-aiff"); // $extension = end(explode(".", $_FILES["file"]["name"])); this generates warning pathinfo doesn't $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); if (($_FILES["file"]["size"] < $maxFileSize) && in_array($_FILES["file"]["type"], $allowedMimes) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Type: " . $_FILES["file"]["type"] . "<br>"; 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($path . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], $path . $_FILES["file"]["name"]); echo "Stored in: $path" . $_FILES["file"]["name"]; } } } else { echo "Type: " . $_FILES["file"]["type"] . "<br>"; echo "Invalid file<br/>"; echo '<pre>' . print_r($_FILES) . '</pre>'; } } ?> </body> </html> Thanks in advance for any ideas. Link to comment https://forums.phpfreaks.com/topic/277076-this-code-doesnt-work-on-localhost-but-does-on-remote-host/ Share on other sites More sharing options...
lemmin Posted April 17, 2013 Share Posted April 17, 2013 The discrepancy is in one of three variables. You should just print them all out and see if they match the criteria: echo $_FILES['file']['size'].'<br/>'; echo $_FILES['file']['type'].'<br/>'; echo $extension.'<br/>'; Put that after line 21 Link to comment https://forums.phpfreaks.com/topic/277076-this-code-doesnt-work-on-localhost-but-does-on-remote-host/#findComment-1425478 Share on other sites More sharing options...
attaboy Posted April 17, 2013 Author Share Posted April 17, 2013 if i try to upload mp3 the size is 0 the type is blank the extension is mp3, if I upload a wma file I get the size and type and the upload works. Link to comment https://forums.phpfreaks.com/topic/277076-this-code-doesnt-work-on-localhost-but-does-on-remote-host/#findComment-1425496 Share on other sites More sharing options...
lemmin Posted April 18, 2013 Share Posted April 18, 2013 Have you tried more than one mp3 file? Link to comment https://forums.phpfreaks.com/topic/277076-this-code-doesnt-work-on-localhost-but-does-on-remote-host/#findComment-1425599 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.