Changing basename to timestamp name upon upload

This code uploads video files successfully, but if it’s a .mov file, from ios, the file name is very long and random, for example:, but an MP4 (from android) is like: 20171002_082845.mp4, which has some meaning.

How can I add something to this code to rename all files uploaded with a time stamp (which is readable/understandable)? Any help will be appreciated:

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$uploadOk = 1;

//Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;

// Check file size
if ($_FILES["fileToUpload"]["size"] > 50000000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;

$extensions= array("mov","mp4");
if(in_array($file_ext,$extensions)=== false){
 $errors[]="File type not allowed, only MP4 or MOV files.";

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {

    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    header ("location: ThankYou.html");

       // echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
$timeZone = 'Europe/Helsinki'; // use your time zone

$dt = new DateTime();
$fileName = $dt->format('Ymd_his') . '.mp4';

And then change this line
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], '/path/to/' . $fileName)) {

You might wanna think what happens if two or more people uploads a file at the same second.

Nothing is reliable here, you will have many files overwritten.
I’ve no idea what’s wrong with a filename like 15069810015286787859-43EA-843746230-04 though.
Is your disk space is so severely limited? Or you are bound do type each filename by hand?

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.