▼ CSVファイルを読み書き $file = '/path/to/foo.csv'; // 読み出し if (!(is_readable($file) && ($fp=fopen($file, "rb")))) { die("{$file}を開けません"); } while (($array=fgetcsv($fp)) !== false) { echo "",print_r($array, true),"\n"; } fclose($fp); // 書き出し $fp = fopen($file, "w"); fputcsv($fp, $array); // 末尾改行が付加される fclose($fp); ▼ CSVデータを処理 // CSV文字列⇒配列 $array = str_getcsv($line); // 配列⇒CSV文字列 $csv = str_putcsv($array); function str_putcsv($array, $delimiter = ',', $enclosure = '"') { $fp = fopen('php://memory', 'r+'); fputcsv($fp, $array, $delimiter, $enclosure); rewind($fp); $data = fgets($fp); fclose($fp); return rtrim($data, "\n"); } 配列データをCSV文字列に変換する関数は用意されていないので使う場合は自作する。 これを流用して以下のように使用すればTSV処理もできる。 $array = str_getcsv(TSVデータ, "\t"); $tsv = str_putcsv($array, "\t");
",print_r($array, true),"
配列データをCSV文字列に変換する関数は用意されていないので使う場合は自作する。
これを流用して以下のように使用すればTSV処理もできる。