csv ファイルを読み取り、fgetcsv を使用してテキストエリアに表示するスクリプトを作成しています。
$handle = @fopen($filePath, "r"); if ($handle) { while (($buffer = fgetcsv($handle, 1000,",")) !== false) { foreach($buffer as $buff){ echo $buff."\n"; } } }
csvのフォーマットは
"line1-content1","line1-content2"
"line2-content1","line2-content2"fgetcsv を使用すると、コンテンツは二重引用符とコンマなしでテキストエリア内に表示されます。二重引用符とカンマも表示するようにフォーマットできますか?
次に、fputcsvを使用して保存すると
$file_to_load = $_GET['filepath']; $filePath = $dir.$file_to_load; $trans = trim($_POST['txtarea']); $keyarr = split("\n",$trans); $fp = fopen($filePath, 'w'); foreach (array ($keyarr) as $fields) { fputcsv($fp, $fields); } fclose($fp);
csvファイルを見ると、csvを保存しましたが、このように表示されます
「line1-content1
」、「line1-content2
」、「 line2-content1
」、「line2-content2」「line1-content1」と「line1-content2」を 2 行に分割し、各行の末尾にコンマを挿入します。
- #2のフォーマットを維持したいと思います。どのようにコーディングしますか?
正しい方向に私を導くことができますか?ありがとう!