Go with something like this:
$year = date("Y");
$month = date("m");
$filename = "../".$year;
$filename2 = "../".$year."/".$month;
if(file_exists($filename)){
if(file_exists($filename2)==false){
mkdir($filename2,0777);
}
}else{
mkdir($filename,0777);
}
You have to adjust this code depending on directory structure that you have. It shows you basic idea of checking whether the file or directory exists and if it's not, then it will be created you.
EDIT 1:
Adjusting your code to your need, it should be this (not tested):
$path = "uploads/";
$year_folder = $path . date("Y");
$month_folder = $year_folder . '/' . date("m");
!file_exists($year_folder) && mkdir($year_folder , 0777);
!file_exists($month_folder) && mkdir($month_folder, 0777);
$path = $month_folder . '/' . $new_file_name;
NOTE: Put it right above
move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$path);