tam bir çizgi maç için bir dizindeki dosyaları aramak nasıl php?

0 Cevap php
$allfiles = glob($searchdir."*.txt");
$elist = array();
foreach($allfiles as $file){
    $lines = array_merge($elist, file($file, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES));
}
foreach ($lines as $existing){
    // this echos a number // echo "<br />Existing".$existing."<br />";
    if (preg_match("/\b".$searchforthis."\b/i", $existing)) {
        echo "A match was found.";
        continue;
    } else {
        echo "A match was not found.";
        $nodupe ="y";
        continue;
    }
}

Yukarıdaki ben dosyaların bir dizinde bir maç için kontrol edin ve bir sonraki adım için doğru veya yanlış geri dönmek için çalışılıyor.

Açıkçası çalışmıyor. Ben hatta bir numara değil, kelime almak, gidermek için girişim hattını yankılandı ama.

Dosya (lar) sadece 100 satır, her kelimelerin tek sütun arandı. Dizinde bunların en fazla 5 olabilir.

Ben yollarını ve diğer değişkenler yankılandı ve tüm doğru. Sadece hiç bir maç bulur.

Ben bu işe ihtiyacım var, ben mysql öğrenmek gerektiğini biliyorum ama.

Ben de devam etmek ya da kırmak hakkında emin değilim. Bu rutin bir içeriye döngü için bir bulunur.

Ben bu bir maç bulunduğu zaman arayan durdurmak istiyorum.

Herhangi bir rehberlik için teşekkür ederiz.

Ben soruna neden o kadar berbat burada durumda dosya yazma bölümü eklendi. Bu dosyaya bir numara yazıyor ve ben aşağıda ekleme anahtarını atlamasına bile ekleme ve yok bildirimde null değerine değil ..

/****Write the entry if no match******/
if ($nodupe != "y"){
    if($append == "n"){
        $name .= $searchforthis."\n";
        file_put_contents($filepath.$writefile.".txt", $name, LOCK_EX);
    }
    else{
        file_put_contents($filepath.$writefile.".txt", $name, FILE_APPEND | LOCK_EX);
    } 
}     

0 Cevap