###前提・実現したいこと
php ver7 にてCSVを取り込みをしたいです。
###発生している問題・エラーメッセージ
SplFileObject にてCSVを取り込みをしていたのですが、列が不正確なまま取り込まれてしまいます。
csvで以下のデーターを取り込んだ時に
"aaa","bbb","ccc","ddd"
"aaa bbb","ccc ddd"
のような形で配列になってしまいます。
CSVの列が不正確な形で取り込まれてしまいます。
同じコードでver 5.6 で取り込んでみるときれいに取り込みができております。
PHP7にてCSV取り込みをする際に以下URLを参照して問題となっている部分を推測してみたのですが
いまいち理解できておりません。
サーバー上では問題なく動作するようですが、テスト環境でも同様の動作をさせたく思っております。
WINDOWSのlocaleの問題になると思うのですが、皆さんはどのように回避しているのでしょうか。
https://github.com/EC-CUBE/ec-cube/issues/1780
vagrantでphp7をご使用されている場合は同様の事象は発生していないのでしょうか。
XAMPP + PHP7 特有の問題なのかご教授お願いいたします。
テスト環境
XAMPP Windows / 7.1.2
CSVの文字コードは SHIFT-JIS です。
setlocale(LC_ALL, 'ja_JP.UTF-8'); $file_neme = $_FILES['aaa']['name']; $file_path = $_FILES['aaa']['tmp_name']; $data = file_get_contents($file_path); $data = mb_convert_encoding($data, 'UTF-8', 'sjis-win'); $temp = tmpfile(); $csv = array(); fwrite($temp, $data); rewind($temp); while (($data = fgetcsv($temp, 0, ",")) !== FALSE) { $csv[] = $data; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/09 03:34