3. セルの内容自体に引用符が含まれている場合:
(1) 引用符が先頭または末尾にある場合は、このセルの内容が引用符で囲まれます。
(2) 先頭または末尾に引用符がある場合、このセルの内容は引用符で囲まれ、先頭と末尾の元の引用符はエスケープされます。
CSVの読み取りと書き込み
<?php
header('Content-Type: text/plain; charset=utf-8');
//导出CSV表格:数组转CSV
$arr = array (
array('ab', 'cd'),
array('"a,b"', '"c,d"'),
);
$fp = fopen('file.csv', 'w');
foreach ($arr as $row) {
//将一行格式化为CSV并写入文件指针
fputcsv($fp, $row);
}
fclose($fp);
unset($arr);
//导入CSV表格:CSV转数组
$fp = fopen('file.csv', 'r');
while ( ($row = fgetcsv($fp)) !== FALSE ) {
//从文件指针中读入一行并解析CSV
$arr[] = $row;
}
fclose($fp);
var_export($arr);
ログイン後にコピー
<?php
$list = array (
'aaa,bbb,ccc,dddd',
'123,456,789',
'"aaa","bbb"'
);
session_start();
$_SESSION['outputArray']=$list;
?>
<a href="test.php" target="_blank">下载csv文件</a>
ログイン後にコピー
test.php:<?php
session_start();
$outputArray=$_SESSION['outputArray'];
header('Content-Type: application/csv');
header('Content-Disposition: attachment;filename="sales.csv"');
$output=fopen('php://output','w') or die("can not open");
foreach ($outputArray as $line) {
fputcsv($output, split(',', $line));
}
fclose($output) or die("can not close");
?>
ログイン後にコピー
<?php
$list = array (
'aaa,bbb,ccc,dddd',
'123,456,789',
'"aaa","bbb"'
);
$fp = fopen('file.csv', 'w');
foreach ($list as $line) {
fputcsv($fp, split(',', $line));
}
fclose($fp);
?>
ログイン後にコピー
CSVを処理するための一般的な操作方法の詳細については、こちらをご覧くださいPHP のテーブル ファイルについては、PHP 中国語 Web サイトの関連記事に注目してください。