我有一个问题,我一直试图解决两天,我找不到我需要解决的信息。
我想要做的是从.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将它们放入表中?
这段小代码的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
数据。
它的简单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);
?>