Burda ilkin dosyayı içeriğini okumak için döngüye giriyorsun oysaki
file() fonksiyonu senin ilk işlemdeki yaptığın şeyi yapmakta. İki kere döngüye girerek performansı düşürmektesin.
Diğer bir husus ise bir ay 28 - 31 arasında değişmektedir. yani date('d') hiç bir zaman 32 olamayacak dolayısıyla txt deki sıralanmış rakamlar da yanlış... Kişi her ay bu sözleri güncellemek zoruna kalacak..
O yüzden aşağıdaki kod daha hızlı sonuç döndürecektir.
<?php
function gununSozu()
{
preg_match("#.*?".date('d')."\|\s(.*)#i",file_get_contents('soz.txt'),$soz);
return $soz[1];
}
echo gununSozu();
?>