2016-03-29 18 views
0

PHP'ye yeni geliyorum. Bir kişi kaydettiğinde, CSV dosyasına veri eklemeyi deniyorum. Sormak istiyorum, sütun adlarını eklemenin bir yolu var mı?php ile csv dosyasına sütun isimleri ekleme

$handle = fopen("data.csv", 'a'); 

fwrite($handle, $doi. ", " .$per_add. ", " .$pre_add."\n"); 

fclose($handle); 

header("Location: thankyou.html"); 
exit; 
+0

Sütun adları sadece bir kez eklenir: hafızaya al o zaman temelde çizgi ile tüm dosya hattını yeniden yazmak ve ardından eski dosya kaldırmak gerekir Soruyu yanlış anladım. – apokryfos

cevap

-1

sütun adları csv sadece ilk satırı vardır:

Bu benim php kodudur. Bu yüzden dosyanın var olup olmadığını kontrol edin (ve boş değil). Varsa, ilk satırın sütun adları ile oluşturun.

+0

Çok kötüydü. Adamı bir tabakta balığa vermek yerine balık tutmayı öğrenmeye çalışıyordum. –

0

Benim yorumuma not ettiğim gibi. Bir başlık eklemek, bunun bir CSV dosyasının en üstüne eklendiğini ima eder. Bu sadece bir kez yapılmalıdır (yani, bir dosyanın var olup olmadığını kontrol edin ve önce başlığı yazmayın). Dosyalarınızı çok büyükse

function prependHeader($headerDataArray) { 
    $currentData = file_get_contents("data.csv");    
    $handle = fopen("data.csv", 'w'); //Truncate it 
    fputcsv($handle, $headerDataArray); 
    fwrite($handle, $currentData); 
    fclose($handle);  
} 

: Dosyalarınızı bunu yapabilirsiniz küçükse

: aşağıdakilerden birini yapabilirsiniz için zaten Bir başlık öne eklemek istediğiniz dosyaları var Ancak eğer Bu eklemek için uygun bir yer olmaz bu yüzden sürece,

function prependHeader($headerDataArray) { 
    $readHandle = fopen("data.csv");    
    $writeHandle = fopen("newData.csv", 'w'); //Truncate it 
    fputcsv($writeHandle, $headerDataArray); 
    while (($line = fgetcsv($readHandle))) { 
     fputcsv($writeHandle,$line); 
    } 
    fclose($readHandle);  
    fclose($writeHandle);  
    unlink("data.csv"); 
    rename("newData.csv", "data.csv"); 
}