如何从PHP中读取.GPX文件中的值?

问题描述 投票:1回答:2

我有一个问题,我一直试图解决两天,我找不到我需要解决的信息。

我想要做的是从.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 mysql xml gpx
2个回答
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->trkptrte->rtept数据。


2
投票

此代码用于读取gpx / gps文件##

它的简单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);
?>
© www.soinside.com 2019 - 2024. All rights reserved.