Как я могу записать это в файл с помощью PHP? - PullRequest
0 голосов
/ 29 июля 2011

Я работал со сценарием, чтобы изменить мой CSV-файл на Tab Delimited.Кажется, работает отлично, но только для чтения.Как мне на самом деле записать изменения в файл?Вот сценарий:

<?php
$myfile = "/path/to/my.csv";
$csv_fp = fopen ($myfile, "r");
$rows = 0;
      while ($data = fGetCsv ($csv_fp, 10000, ",")) 
{
$num = count($data);
for ($c=0; $c < $num; $c++) {
   echo $data[$c] . "<br />\n";
      }

$rows++;
}fclose ($csv_fp);  
?>

Ответы [ 2 ]

2 голосов
/ 30 июля 2011

Таким образом вы можете изменить CSV с разделителями-запятыми на символы табуляции. Тем не менее, я не вижу выгоды от этого. Я думаю, что CSV с разделителями-запятыми гораздо менее подвержены ошибкам.

<?php
$myfile = "/path/to/my.csv";
$csv_fread = fopen($myfile, 'r');

$rows = array();
while ($columns = fgetcsv($csv_fread, 10000, ",")) {
    $rows[] = $columns;
}
fclose($csv_fread);


$csv_fwrite = fopen($myfile, 'w');
foreach($rows as $row){
    fputcsv($csv_fwrite, $row, "\t");
}
fclose($csv_fwrite);
?>
0 голосов
/ 30 июля 2011

Вам потребуется изменить режим вызова на fopen с r на режим, который открывает файл в режиме записи. Какой из них вы выберете, зависит от того, что вы хотите сделать (добавить, перезаписать). Я предполагаю, что вы хотите перезаписать, в этом случае вы можете выбрать w или w+.

Ознакомьтесь с руководством для fopen и fwrite .

...