お世話になります。
前提・実現したいこと
leafletでcsvデータをを読み込んで位置情報を表示できるようにしたい
発生している問題・エラーメッセージ
csvデータを1行しか読み込めない。
csv
38.248926, 140.327303, 山形駅,
38.255195, 140.328290, 霞城公園,
ソースコード(php)
php
1<?php 2 3$filename = 'sample.csv'; 4 5// ファイルを開く 6$data = file_get_contents($filename); 7 8// 文字コード変換して一時ファイルに書き込む 9$lines = mb_convert_encoding($data, 'utf-8', 'auto'); 10 11// UTF-8のCSVデータを1行ずつ処理する 12foreach ((array)$lines as $line){ 13 // 配列 14 //カンマで分割 15 $data = explode(',',$line); 16 //改行コード置換 17 $popdata = str_replace( "\r\n", "", $data[2]); 18 //Map表示用 19 $mapdata = $mapdata ."L.marker([" .$data[0] ."," .$data[1] ."]).addTo(map).bindPopup(" ."'" .$popdata ."'" .")\n"; 20 21} 22 23?>
お願いします
追記
array(2) { [0]=> string(34) "38.248926, 140.327303, 山形駅, "
[1]=> string(36) "38.255195, 140.328290, 霞城公園," }
php
1<?php 2 3// SJISのCSVファイル 4$filename = 'sample.csv'; 5 6$data = file($filename); 7 8// 文字コード変換して一時ファイルに書き込む 9$lines = from_convert_encoding($data, 'utf-8', 'auto'); 10 11// UTF-8のCSVデータを1行ずつ処理する 12foreach ((array)$lines as $line){ 13 // 配列 14 //カンマで分割 15 $data = explode(',',$line); 16 //改行コード置換 17 $popdata = str_replace( "\r\n", "", $data[2]); 18 //Map表示用 19 $mapdata = $mapdata ."L.marker([" .$data[0] ."," .$data[1] ."]).addTo(map).bindPopup(" ."'" .$popdata ."'" .")\n"; 20 21} 22 23?>
おかげさまで配列にはなったのですが、今度は、以下のエラーが出ました。
Fatal error: Call to undefined function from_convert_encoding() in .php on line 9
お願いします。
回答1件
あなたの回答
tips
プレビュー