我有一个问题,我现在已经尝试解决了两天,但我无法找到解决问题所需的信息。
我想要做的是从.gpx文件中获取lat,lon和ele值并将它们放入表中。
我制作了一些页面,让用户将gpx文件上传到服务器上。然后,我创建了一个名为一,二,三等的新表,我的数据库中的下一个数字叫做' vluchten'。
该表包含lat,lon和ele的字段,所有双打。
现在我需要打开用户可能上传的任何.gpx文件,并将lats,lons和eles提取到我的表中。
我已经研究过使用php文件系统函数(fopen,fseek等),但它们似乎并不适合我的需求。我也尝试将它读作一个既不起作用的XML(也许我犯了错误)。
我非常欢迎任何有关如何从.gpx文件获取值并将它们放入数据库表的建议! PHP页面将收到lat,lon和ele需要在$_POST['name']
中进入的表名。
所以简而言之,我的问题是:如何从.gpx中取出lon,lat和ele并使用SQL将它们放入表中?
答案 0 :(得分:3)
这段PHP代码片段将从gpx文件读取每个路点。
您可以编写一些SQL代码,为每个航点插入一行。
$gpx = simplexml_load_file("test.gpx");
foreach ($gpx->wpt as $pt) {
$lat = (string) $pt['lat'];
$lon = (string) $pt['lon'];
$ele = (string) $pt->ele;
$name = (string) $pt->name;
}
unset($gpx);
类似的代码将从xml中提取trk->trkseg->trkpt
和rte->rtept
数据。
答案 1 :(得分:2)
简单的xml
<?php
//open gpx file
$gpx = simplexml_load_file("test.gpx");
foreach ($gpx->trk as $trk) {
foreach($trk->trkseg as $seg){
foreach($seg->trkpt as $pt){
echo "<p> lat- ";
echo $pt["lat"];
echo " lon-";
echo $pt["lon"];
echo"<p>";
}}}
unset($gpx);
?>