You can use strtotime to get the timestamp of that specific day and then with that get the weekday name.
$days = date( 'd' );
$month = date( 'n' );
for ( $day = 1; $day <= $days; $day++ )
echo $day, ' is ', date( 'l', strtotime( $month . '/' . $day ) ), '\n';
To get a different weekday name for translations whatsoever, you must build your own array and get it through from there by changing the lowercase L to lowercase W, which will return you a weekday integer.
$weekdays = array( "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" );
$days = date( 'd' );
$month = date( 'n' );
for ( $day = 1; $day <= $days; $day++ )
echo $day, ' is ', $weekdays[ date( 'w', strtotime( $month . '/' . $day ) ) ], '\n';
Keep in mind that you are using lowercase D in your days-variable, which means it will only count the days until today. You can use lowercase T to loop through all days of the specified month.
The alternative is to use mktime as shown in another answer related to this question.
In addition, instead of defining weekday names by yourself, you could simply set the locale setting to your choosing and strftime the weekday name (%A).