みなさんお元気?トクハラです。
ちょっと体調を崩してますが生きてます。
でも仕事はしてますんでご安心を。
ということで本題。
いつもはcsvを出力するときはfastcsvを利用させてもらってる。
ありがとうございます。
全銀データを出力する仕事をやってます。
全銀といってもCSVから固定長まで色々ある。
今回は固定長のデータだった。
fastcsvは内部でfputcsvを使っている。
だとどうしてもデリミタだなんだという制約から逃れられない。
以下のようにして解決しました。
まずFastCSVのfunction export()の中を変更。
//2行追加(CRLFです。LFの場合は\nだけにしてね) $row .= "\r\n"; fwrite($this->handle, $row); //コメントアウト //fputcsv($this->handle, $row, $this->delimiter, $this->enclosure);
あとはviewでゴリゴリとフォーマット通りに書いていく。
csvの場合はarray_pushだけど、固定長なので1行終わるまでは
ひたすら文字列追加です。
こんな感じ。
//振込依頼人名(環境設定「振込依頼人名」から取得 合計40) $dummy = '';; for($i = 0; $i < 40; $i ++ ){ $dummy = $dummy . ' '; } $accountName = mb_substr(($accountName . $dummy), 0, 40, 'UTF-8');
もしこのページのアクセスが伸びたらviewだけでも貼り付けようと思います。
ではまた。