Php dosyası ayrıştırma ve mysql için insert ifadeleri oluşturmak için?

3 Cevap php

Csv dosyası halinde biz fgetcsv edilir .dat çıkışını ayrıştırmak ve almak için php ama benim dava dosyasında var ve ben bunu ayrıştırmak ve MySQL Veritabanı içine saklamak ve bunu yapmak gerekir biz herhangi bir fgetcsv o .dat dosya benzer şekilde çalışabilir gibi php fonksiyon inşa etmişlerdir?

İşte örnek değeri, başlıklar DF_PARTY_ID sahip olduğu; DF_PARTY_CODE, DF_CONNECTION_ID ve altında belirtilen değeri.

Örnek Veri:

DF_PARTY_ID;DF_PARTY_CODE;DF_CONNECTION_ID

87961526;4002524;13575326
87966204;4007202;13564782

3 Cevap

Ne nesi var fgetcsv()? Veri formatı dosyaların tamamında tutarlı olarak dosya üzerinde uzantısı sürece ilgisizdir.

Example:

$fh = fopen('example.dat', 'r');
while (!feof($fh)) {
        var_dump(fgetcsv($fh, 0, ';'));
}

Alternatif olarak, PHP5.3 ile de yapabilirsiniz:

$lines = file('example.dat');
foreach($lines as $line) {
        var_dump(str_getcsv(trim($line), 0, ';'));
}

IMHO .dat dosyaları farklı biçimlerde olabilir. Körü körüne uzantısı aşağıdaki hata eğilimli olabilir. Ancak bazı özel uygulamadan bir dosya varsa, belki bu uygulama ne olduğunu söyle. Şansı bazı ayrıştırma kütüphaneler ya da rutinleri vardır vardır.

Ben fopen, fread kullanarak kısa bir işlevi yazmak için daha kolay olacağını hayal ediyorum, ve fclose kendiniz ayrıştırmak için. , Her satırı okumak için bir dizi patlayabilir, ve istediğiniz gibi saklayın.