Ken_Turner Posted December 1, 2012 Share Posted December 1, 2012 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. 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. 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. 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. 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? 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. 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
Archived
This topic is now archived and is closed to further replies.