If the text file is sorted and you only have one entry for each date then you could just use http://www.php.net/file to read the file into an array and then entry n-1 (where n is today's date) would be the entry for today. No need to nested if's within a while loop.
If the text is sorted but the days can have multiple entries then you could still use file to read in the file, create one while loop that reads until it hit's todays date and incrments an index counter (probably i), then created a second while loop that reads today's entries and then stops, that will get rid of the nested if statements.
If you want to be really creative you can start at the begining of the file for the first half of the month and at the end of the file for the second half of the month.
If you want to be really really creative you could do a binary search instead of a linear search.
If you want to be really really really creative you can start the binary search at different places int he array based on the date of the month.