TapeGun007 Posted April 8, 2011 Share Posted April 8, 2011 I know this form doesn't really work, but the FTP part *should* work. I select a file, and click upload, Chrome shows the file is uploading and gets to 100% then fails. I'm getting "File Upload Failed!" on line 112 every time, but I can't seem to figure out why. I'm hoping a pair of expert eyes can spot it quickly. Upload A File: <form enctype="multipart/form-data" action="File_Upload.php" method="POST"> <table> <tr><td>Song Title:</td><td><input></input></td></tr> <tr><td>Singer/Group:</td><td><input></input></td></tr> <tr><td>Album Name:</td><td><input></input></td></tr> <tr><td>Video Link:</td><td><input></input></td></tr> <tr><td>Category:</td><td><input></input></td></tr> <tr><td>Choose a file to upload:</td><td><input name="uploadedfile" type="file" /></td></tr> <tr><td><input type="submit" value="Upload File" /></td></tr> </table> </form> <?php //********************************************************************************************** echo "Please wait while we attempt to upload your file...<br><br>"; //********************************************************************************************** $target_path = "temp_uploads/"; $flag = 0; // Safety net, if this gets to 1 at any point in the process, we don't upload. $filename = $_FILES['uploadedfile']['name']; $filesize = $_FILES['uploadedfile']['size']; $mimetype = $_FILES['uploadedfile']['type']; $filename = htmlentities($filename); $filesize = htmlentities($filesize); $mimetype = htmlentities($mimetype); $target_path = $target_path . basename( $filename ); if($filename != ""){ echo "Beginning upload process for file named: ".$filename."<br>"; echo "Filesize: ".$filesize."<br>"; echo "Type: ".$mimetype."<br><br>"; } //First generate a MD5 hash of what the new file name will be //Force a MP3 extention on the file we are uploading $hashedfilename = md5($filename); $hashedfilename = $hashedfilename.".mp3"; //Check for empty fileif($filename == ""){$error = "No File Exists!"; $flag = $flag + 1; //Now we check that the file doesn't already exist. $existname = "temp_uploads/".$hashedfilename; if(file_exists($existname)){ if($flag == 0){ $error = "Your file already exists on the server! Please choose another file to upload or rename the file on your computer and try uploading it again!"; } $flag = $flag + 1; } //Whitelisted files - Only allow files with MP3 extention onto server... $whitelist = array(".mp3"); foreach ($whitelist as $ending) { if(substr($filename, -(strlen($ending))) != $ending) { $error = "The file type or extention you are trying to upload is not allowed! You can only upload MP3 files to the server!"; $flag++; } } //Now we check the filesize. If it is too big or too small then we reject it //MP3 files should be at least 1MB and no more than 25 MB if($filesize > 26214400){ //File is too large if($flag == 0){ $error = "The file you are trying to upload is too large! Your file can be up to 25 MB in size only. Please upload a smaller MP3 file or encode your file with a lower bitrate."; } $flag = $flag + 1; } if($filesize < 1048600){ //File is too small if($flag == 0){ $error = "The file you are trying to upload is too small!Your file has been marked as suspicious because our system has determined that it is too small to be a valid MP3 file.Valid MP3 files must be bigger than 1 MB and smaller than 25 MB."; } $flag = $flag + 1; } //Check the mimetype of the file if($mimetype != "audio/x-mp3" and $mimetype != "audio/mpeg"){ if($flag == 0){ $error = "The file you are trying to upload does not contain expected data.Are you sure that the file is an MP3?"; }$flag = $flag + 1; } //Check that the file really is an MP3 file by reading the first few characters of the file $f = @fopen($_FILES['uploadedfile']['tmp_name'],'r'); $s = @fread($f,3); @fclose($f); if($s != "ID3"){if($flag == 0){ $error = "The file you are attempting to upload does not appear to be a valid MP3 file.";}$flag++; } //All checks are done, actually move the file... if($flag == 0){ if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { //Change the filename to MD5 hash and FORCE a MP3 extention. if(@file_exists("../music/".$filename)){ //Rename the file to an MD5 version rename("uploads/".$filename, "uploads/".$hashedfilename); echo "The file ".basename( $filename )." has been uploaded. Your file is <a href='uploads/$hashedfilename'>here</a>."; } else{ echo "There was an error uploading the file, please try again! (1)"; } } else{ echo "There was an error uploading the file, please try again! (2)"; } } else { echo "File Upload Failed!<br>"; if($error != ""){ echo $error; } } ?> Link to comment https://forums.phpfreaks.com/topic/233048-coding-help-ftp/ Share on other sites More sharing options...
requinix Posted April 8, 2011 Share Posted April 8, 2011 That script has nothing to do with FTP. Did you get anything from $error? Link to comment https://forums.phpfreaks.com/topic/233048-coding-help-ftp/#findComment-1198597 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.