Bir dosya ayrıştırma sırasında PHP garip bir durumla karşı karşıya

0 Cevap php

Ben aşağıdaki biçimde bir dosyadan bazı satırları okuyorum:

Identifier String Number String Number String Number String Number
Identifier String Number String Number String Number
Identifier String Number String Number 
Identifier String Number String Number String Number String Number String Number

Bana verildi dosyada, çizgileri çok çok uzun bu yüzden aşağıdaki kod olduğuna inanıyoruz:

<?php
        $fp = gzopen($filename, "r");
        while($source = gzgets($fp, 4096)) {
                $trans = array("\x0D" => "");
                $source = strtr($source,$trans);
                $source = trim($source);
                $source = explode(' ', $source);

                foreach($source as $value) {
                        $value = trim($value);

                        //Clean and insert into appropriate column
                }
        }
?>

üreten ayrıştırma hatalarını ben beklenen sütunu almıyorum yani. Ben bir dize bekliyor olduğum zaman, bana bir numara verir ve ben bir numara istiyorsanız, bu bir tanımlayıcı geri dönüyor. Ayıklama saat sonra, şimdi ben bu hattın sadece bir bölümünü okuma ve daha sonra döngü için iç çünkü bunların bir sonraki yineleme sonraki öbek okuyor böylece 4096 tampon boyutu gerçekten uzun satırları okumak mümkün olmadığını anladım berbat olmak. Ben geniş bir tampon değeri veren çalıştı:

while($source = gzgets($fp, 409600)) {

ama sonra benim ayrıştırma hala bazı diğer garip durum için berbat. Bunu nasıl bakabilirim? Herhangi bir öneriniz?

0 Cevap