hakancevik adlı üyeden alıntı: mesajı görüntüle
Chatgpt cevabı;
Kodunuzda birkaç potansiyel sorun var:
  1. Dosya yollarınızın doğru olduğundan emin olun. keywords.txt dosyasının doğru yolda olduğundan ve listele.php dosyasında txt/ klasörünün doğru olduğundan emin olun.
  2. Dosya adlarınızın doğru olduğundan emin olun. listele.php dosyasını "17-02-2023.txt" olarak adlandırmak istediğinizi belirttiniz, ancak kodunuzda bunu kullanmadığınızı fark ettim. Dosya adının doğru olduğundan emin olun.
  3. $kwords değişkenini dosya adında kullanırken özel karakterler olabilir. Dosya adında özel karakterler varsa, dosya sistemleri farklı davranabilir. $kwords değişkenini dosya adında kullanmadan önce özel karakterlerden arındırdığınızdan emin olun.
  4. Kodunuzun strpos fonksiyonunu doğru kullanıp kullanmadığınızı kontrol edin. strpos fonksiyonu, bir dize içinde başka bir dizeyi arar. İlk parametresi aranacak dize, ikinci parametresi aranacak kelime. Ancak kodunuzda ilk parametre .net olarak belirtilmiş, ancak size 17-02-2023.txt dosyasının içeriğini saymanız isteniyor. Bu nedenle, ilk parametreyi $line olarak değiştirmeniz gerekiyor.
Aşağıda, yukarıdaki sorunları düzeltmiş bir kod örneği verilmiştir:

<?php
$kwordsfile = fopen("db/keywords.txt", "r");
while (!feof($kwordsfile)) {
    $kwords = fgets($kwordsfile);
    $kwords = trim($kwords); // özel karakterleri kaldır

    $count = 0;
    $filename = "txt/17-02-2023.txt"; // dosya adını düzelt
    if (file_exists($filename)) {
        $file = file($filename);
        foreach ($file as $line) {
            if (strpos($line, $kwords) !== false) { // strpos kullanımını düzelt
                $count++;
            }
        }
    }
    ?>
    <tr>
        <td style="padding:3px;">
            <a href="listele.php?keyword=<?php echo $kwords;?>&tarih=<?php echo $_GET["tarih"] ?>"><?php echo $kwords;?></a>
            <b>( <?php echo $count; ?> adet )</b>
        </td>
    </tr>
    <?php
}
fclose($kwordsfile);
?>
Bu kod, her kelime için belirtilen dosyada kaç kez geçtiğini doğru şekilde sayacaktır.
çok teşekkürler hocam. oldu.