fgetcsv - tırnak yok alanlara Alıntılar ekle

3 Cevap php

Ben bunu kullanarak bunun üzerinden ayrıştırmak zaman (onun virgül, çift tırnak içinde sarılı bazı alanları ile ayrılmış) bir metin dosyası var:

if (($handle = fopen('C:\tester\fake.txt', "r")) !== FALSE) {
    while (($data = fgetcsv($handle, ",")) !== FALSE) {
        $num = count($data);
        //echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}

Bu tırnak değil her alanını gösterir fgetcsv otomatik olarak bu kaldırır?

Onu nasıl tırnak var ve onlara tırnak eklemek ve daha sonra dosyayı kaydedin olmayan alanları göstermek için alabilirim? Olası?

Tüm teşekkürler

Update

Ben sadece fputcsv denedim ve ben yazılı dosya alanları tırnak yok bulmak, ilk dosya vardı daha az, sadece çok az! Ben yanlış ne yapıyorum?

$row = 1;
$newfile = fopen('C:\new-file.txt', "w");

if (($handle = fopen('C:\fake.txt', "r")) !== FALSE) {
    while (($data = fgetcsv($handle, ",")) !== FALSE) {
        $num = count($data);
            fputcsv($newfile, $data, ',', '"');
    }
    fclose($handle);
    fclose($newfile);
}

3 Cevap

fgetcsv tırnak kaldırmaz.

Ile fputcsv Bir cvs dosyasını yazabilirsiniz. Bu tırnak ya da kullanımı ile ilgili seçenekler var, ama tüm alanlar için aynısını yapacağız.

http://www.php.net/fgetcsv ve http://www.php.net/fputcsv Giriş

Tırnak nedenle fgetcvs bunları kaldırmak (ve beklenen) olacak, CSV dosyası biçiminde (içeren veya newlines alanları etrafında tırnak) bir parçasıdır.

bu sütunlar için veri istiyorum ve tırnak verilerin bir kısmını öyle varsayar çünkü evet o tırnak kaldırır. fget yerine kullanılacak.