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?