データベースへの一括アップデートなど、CSVを扱う機会は多い。しかしこれの編集を色々な環境で行えるようにするには、ちょっと工夫が必要です。
今回は以下の様な要件でしたが、今後のためにもログを取ります。
- wordpressのデータの一括更新をしたい
- 環境はWINDOWSを使っていた
- エクセル2013
- テストはMACのXAMPP環境で
最初、macで編集していたら行を認識せず全く更新出来ない。
アップロード用のphpソースを見ていると、あず引っかかったのが tmpfile()でfalseを返していたこと。
sys_get_temp_dir()してテンポラリファイルの格納場所とパーミッションを調べてここは解決。
その次引っかかったのが改行コードの違い。Excel for Macで編集したCSVは、行を認識してもらえない。。
ソースを修正する方法もあるのだが、クライアントはWINなのでこのままにしてCSVはWINで編集することにした。
編集方法は以下。
1.データをダウンロード
2.ダウンロードしたデータを、Notepadで開く
3.「名前を付けて保存」で、形式は「全てのファイル」を選択、文字コードは「UTF8」を選択して、「xxxxx.csv」という名前で保存。
4.保存した「xxxxx.csv」を、エクセルで開き、編集。
5.終了したら「名前を付けて保存」する。このとき、ファイルの種類は「CSV(カンマ区切り)」で保存。ノーティスがでるがそのまま保存。
6.これで完了。管理画面からアップする。