CSV — Использование расстояния между вкладками в PHP для текстового файла

Я читаю файл CSV и печатаю данные из файла CSV в 2 .txt файлы. Вывод текстовых файлов выглядит следующим образом

John
Georgina,Sinclair,408999703657,cheque,"First National Bank",Fourways,275.00,12/01/2012
Toby,Henderson,401255489873,cheque,"First National Bank",Edenvale,181.03,12/13/2012

Вот мой код:

    $file_handle = fopen("debitorders.csv", "r") or die("can't open debitorders.csv");
$absaFile = fopen("ABSA.txt", "w") or die("can't open ABSA.txt");
$firstNationalBankFile = fopen("First National Bank.txt", "w") or die("can't open First       National Bank.txt");

while (!feof($file_handle) ) {

$debitorders = fgetcsv($file_handle, 1024, ",");

if ($debitorders[4] == "ABSA"){
print_r ($debitorders[4] . "<br />");
fputcsv($absaFile, $debitorders);

$ABSA_bank = "ABSA";
fopen("ABSA.txt", "a");
file_put_contents('ABSA.txt', $ABSA_bank, FILE_APPEND);
}

if ($debitorders[4] == "First National Bank"){
$FNB_bank = "First National Bank";

print_r ($debitorders[4] . "<br />");
fputcsv($firstNationalBankFile, $debitorders);

$FNB_bank = "First National Bank";
fopen("First National Bank.txt", "a");
file_put_contents('First National Bank.txt', $FNB_bank, FILE_APPEND);
}
}
fclose($file_handle);
fclose($absaFile);
fclose($firstNationalBankFile);

Как поместить табуляцию в выходной файл вместо запятых, чтобы вывод выглядел следующим образом:

John
GeorginaSinclair    408999703657  cheque  First National Bank  Fourways 275.0012/01/2012
TobyHenderson       401255489873  cheque  First National Bank  Edenvale 181.0312/13/2012

Любая помощь будет оценена. Благодарю вас

0

Решение

Некоторое время назад я делал нечто подобное, хотя все было наоборот. Я заменил вкладки запятыми. Вот код, который я использовал:

preg_replace('/[ ]{2,}|[\t]/', ',', $string);

Приведенный выше код удалил две вкладки и заменил их одной запятой. Так что, возможно, попробуйте это так:

preg_replace(',', '/[ ]{1,}|[\t]/', $string);
0

Другие решения

Согласно Руководство по PHP

int fputcsv ( resource $handle , array $fields [, string $delimiter = "," [, string $enclosure = '"' ]] )

Так что вы можете попробовать

 fputcsv($absaFile, $debitorders ,"\t");
-1

По вопросам рекламы [email protected]