phpcoder2013 Posted August 22, 2013 Share Posted August 22, 2013 Is there a way to add a timestamp when finished uploading to server? For example: An image named Testing.jpg is uploaded to the server. I want it to automatically be renamed to 2013_08_22-15:09:27-Testing.jpg (Year_Month_Day-Hour:Minute:Second-FILENAME.EXTENSION) Maybe the following code could help you while fixing my script. $date = new DateTime();echo $date->format('U = Y_m_d-H:i:s') My current code: <?php if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) { $filename = basename($_FILES['uploaded_file']['name']); $ext = substr($filename, strrpos($filename, '.') + 1); if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && ($_FILES["uploaded_file"]["size"] < 350000000)) { $newname = dirname(__FILE__).'/Uploads/'.$filename; if (!file_exists($newname)) { if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) { echo "It's done! The file has been saved as: ".$newname; } else { echo "Error: A problem occurred during file upload!"; } } else { echo "Error: File ".$_FILES["uploaded_file"]["name"]." already exists"; } } else { echo "Error: Only .jpg images under 350000Kb are accepted for upload"; } } else { echo "Error: No file uploaded"; } ?> PS: I have only recently started to learn PHP coding (About 3 days ago) Quote Link to comment https://forums.phpfreaks.com/topic/281479-php-timestamp/ Share on other sites More sharing options...
AbraCadaver Posted August 22, 2013 Share Posted August 22, 2013 $newname = dirname(__FILE__) . '/Uploads/' . date('Y_m_d-H:i:s') . '-' . $filename; Quote Link to comment https://forums.phpfreaks.com/topic/281479-php-timestamp/#findComment-1446381 Share on other sites More sharing options...
phpcoder2013 Posted August 22, 2013 Author Share Posted August 22, 2013 $newname = dirname(__FILE__) . '/Uploads/' . date('Y_m_d-H:i:s') . '-' . $filename; Thanks so much! But may I ask why in the tutorial it says $date = new DateTime(); echo $date->format('U = Y_m_d-H:i:s') instead of echo date('Y_m_d-H:i:s')? Quote Link to comment https://forums.phpfreaks.com/topic/281479-php-timestamp/#findComment-1446383 Share on other sites More sharing options...
Solution AbraCadaver Posted August 22, 2013 Solution Share Posted August 22, 2013 (edited) Thanks so much! But may I ask why in the tutorial it says $date = new DateTime(); echo $date->format('U = Y_m_d-H:i:s') instead of echo date('Y_m_d-H:i:s')? date() is a date formatting function. The DateTime class can format a date / time but it has many more features to manipulate dates and times etc. Since all you needed was to format todays date, I didn't see any need to create an object. Edited August 22, 2013 by AbraCadaver Quote Link to comment https://forums.phpfreaks.com/topic/281479-php-timestamp/#findComment-1446384 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.