Hey guys, my site is using a very basic upload script. Here's what I need it to do.. I need it to rename the uploaded file to "1.mp3" and overwrite if it already exists. I've been trying out a few things, but they don't seem to be working. I definitely appreciate any help you guys can give me! thanks! This is my code that I'm using: <?php if ((($_FILES["file"]["type"] == "music/mp3") && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { 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("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"; } ?> PHP:
Replace all occurences of (do a search and replace): "upload/" . $_FILES["file"]["name"] PHP: With: "upload/1.mp3" PHP:
Hey thanks for you fast response! It almost seems to work except that I get a syntax error on Line 4 <?php if ((($_FILES["file"]["type"] == "mp3") && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { 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("upload/1.mp3")) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/1.mp3"); echo "Stored in: " . "upload/1.mp3"; } } } else { echo "Invalid file"; } ?> PHP: Any idea why?
You've got an unclosed parentheses on your first if statement...here's it simplified: <?php if ($_FILES["file"]["type"] == "mp3" && $_FILES["file"]["size"] < 20000) { if ($_FILES["file"]["error"] > 0) { 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("upload/1.mp3")) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/1.mp3"); echo "Stored in: " . "upload/1.mp3"; } } } else { echo "Invalid file"; } ?> PHP:
The above script will throw an error if 1.mp3 already exists whereas according to the first post, the script should just overwrite the file even if it exists. To do this, replace this block of code: if (file_exists("upload/1.mp3")) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/1.mp3"); echo "Stored in: " . "upload/1.mp3"; } PHP: With simply this one line: move_uploaded_file($_FILES["file"]["tmp_name"], "upload/1.mp3"); PHP:
Hey I want to thank both of you for your responses... however... I've been getting an error "Invalid File". I've tried messing around with the code just a bit, but its still not working. Here is the page that it is actually on http://tundro.us/upload/ and here is the code I'm using right now: <?php if ($_FILES["file"]["type"] == "mp3" && $_FILES["file"]["size"] < 20000) { if ($_FILES["file"]["error"] > 0) { 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 />"; move_uploaded_file($_FILES["file"]["tmp_name"], "upload/1.mp3"); } } else { echo "Invalid file"; } ?> PHP: Thanks again
change: $_FILES["file"]["type"] == "mp3" PHP: to: pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION) == 'mp3' PHP: mp3 is not a valid mime type, secondly you shouldn't rely on it for validation.