Не копируйте код как есть, то есть выбрасывайте из него необдуманное, и тогда проблем меньше будет.
Функция strtotime преобразовывает дату в штамп времени, и как при этом она будет написана, дд.мм.гггг или дд-мм-гггг, или гггг.мм.дд, или гггг-мм-дд, или еще как либо, это не важно. Данная функция также корректно преобразует и английскую нотацию в метку времени.
Вот это $day = str_replace("-","",substr($data,5)); выбросить заменив на:
$date = date_parse($date);
if(!$date['errors']) {
$day = $date['month'] . $date['day'];
//дальше по коду
}
Не копируйте код, читайте о функциях.