Ken_Turner Posted December 1, 2012 Share Posted December 1, 2012 (edited) so I'm in the process of making a .gif uploading website, and this is my code for "upload_file.php". <?php $allowedExts = array("jpg", "jpeg", "gif", "png"); $extension = end(explode(".", $_FILES["file"]["name"])); if ((($_FILES["file"]["type"] == "image/gif")) && ($_FILES["file"]["size"] < 5242880) && in_array($extension, $allowedExts)) { 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("i/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "i/" . $_FILES["file"]["name"]); echo "Stored in: " . "i/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?> How can I add a random image name? Preferably 6-8 digits of only #0-9. That way the image name is simple instead of being specific to capital letters etc. Please be as specific with directions as possible, because I'm still learning PHP, and that's one of the main reasons I'm making this website. P.S. Bonus points if you can tell me how to redirect straight to the image without the page that shows the file info. Edited December 1, 2012 by Ken_Turner Quote Link to comment https://forums.phpfreaks.com/topic/271430-how-can-i-add-a-random-name-to-images-being-uploaded-to-my-website/ Share on other sites More sharing options...
Pikachu2000 Posted December 1, 2012 Share Posted December 1, 2012 When you move_uploaded_file(), you could append/prepend a value generated by uniqid to the file name. Quote Link to comment https://forums.phpfreaks.com/topic/271430-how-can-i-add-a-random-name-to-images-being-uploaded-to-my-website/#findComment-1396588 Share on other sites More sharing options...
Ken_Turner Posted December 1, 2012 Author Share Posted December 1, 2012 When you move_uploaded_file(), you could append/prepend a value generated by uniqid to the file name. But is there a way without having a bunch of digits? I want it to be simpler and short. Quote Link to comment https://forums.phpfreaks.com/topic/271430-how-can-i-add-a-random-name-to-images-being-uploaded-to-my-website/#findComment-1396589 Share on other sites More sharing options...
Pikachu2000 Posted December 1, 2012 Share Posted December 1, 2012 The shorter it is, the higher the likelihood of a duplicate file name is, but I suppose you could use rand instead. Quote Link to comment https://forums.phpfreaks.com/topic/271430-how-can-i-add-a-random-name-to-images-being-uploaded-to-my-website/#findComment-1396590 Share on other sites More sharing options...
Ken_Turner Posted December 1, 2012 Author Share Posted December 1, 2012 The shorter it is, the higher the likelihood of a duplicate file name is, but I suppose you could use rand instead. Could I make it search for that name, then possibly rename if it's taken? Quote Link to comment https://forums.phpfreaks.com/topic/271430-how-can-i-add-a-random-name-to-images-being-uploaded-to-my-website/#findComment-1396591 Share on other sites More sharing options...
Pikachu2000 Posted December 1, 2012 Share Posted December 1, 2012 Sure. That shouldn't be too hard with a conditional using file_exists. Quote Link to comment https://forums.phpfreaks.com/topic/271430-how-can-i-add-a-random-name-to-images-being-uploaded-to-my-website/#findComment-1396593 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.