Hallo,

Ik wil in een gpx file gaan lezen vanaf een bepaalde plaats(vb waar telkens <wpt begint) , daar maak ik dan een file van fread($fopen, 3800); met deze grootte, daarna moet er terug gezocht worden naar <wpt om terug een file van 3800 van te maken.

Ziet iemand dit zitten om hier een klein voorbeeld van te geven ?
Als je wil kan ik altijd de gpx aan iemand laten geworden.(blijkbaar kan ik hier geen file doorsturen)

Met dank op voorhand
Om nog even te resumeren:
1. Je hebt een XML file (genaamd .gpx maar dat is niet relevant). XML is een standaard voor gegevens opslag en verwerking.
2. Hiervoor zijn dus veel hulpmiddelen beschikbaar en hoef je niet met fread en pattern-matching aan de slag.
3. Je kunt dus met kant-en-klare programma-modules cq libraries werken om de XML file snel de gewenste attributen uit te lezen.
4. Vervolgens insert je per regel in je database.
Even wat tijd steken in de werking van aangeboden kant-en-klare programma-modules en je bespaart jezelf veel tijd en het risico om foutgevoelige php stukken te bouwen.

Als het programma geen webfunctie heeft dan doe ik dit soort dingen altijd met python in plaats van php.
Voor Python zijn ook veel duidelijke en makkelijke libraries beschikbaar.
Denk dat het een beetje te groot zal zijn, of geeft dat niet ?
En hoe weet je dat dit voor u is ?
PHP kan prima met grote XML-feeds werken.
neen dat bedoel ik niet , ik bedoel om het te delen via deze site , het is copy past, maar het is groot.


[size=xsmall]Toevoeging op 18/02/2023 16:46:35:[/size]

kan ik dat opsturen via mail ?
Gooi op Pastebin. Of kort het in?
Als er bij wijze van spreke 200 items in staan, kan je dit net zo goed inkorten tot 2 items.
wat wil ik in mijn database :
het begint bij <wpt en de cache eindigt bij </wpt>
<wpt lat="50.558333" lon="4.101667"> enkel 50.558333 en 4.101667

<name>GCA02MB</name> enkel GCA02MB
<desc>26. Il y a de l'illusion dans l'air by Jc et Fr (2/2)</desc> enkel 26. Il y a de l'illusion dans l'air by Jc et Fr (2/2)
<type>Geocache|Unknown Cache</type>enkel type (unknown cache
<groundspeak:container>Micro</groundspeak:container> enkel micro
<groundspeak:difficulty>2</groundspeak:difficulty> enkel 2
<groundspeak:terrain>2</groundspeak:terrain>enkel 2
<groundspeak:country>Belgium</groundspeak:country> enkel Belgium
<groundspeak:state>Hainaut</groundspeak:state>enkel Hainaut
Zet even op PasteBin a.u.b.
Bij voorkeur beknopt met een paar items.
Ik ben begonnen waarin je zij dat het gemakkelijk ging zijn, maar ik stoot al op de eerste fouten.

Parseerfout: syntaxisfout, onverwacht token ":", verwacht "," of ";" in C:\xampp\htdocs\geo_db_gpx_gsak\test.php op regel 10

dit staat in de GPX :
<groundspeak:type>Unknown Cache</groundspeak:type>
<groundspeak:container>Micro</groundspeak:container>
<groundspeak:difficulty>2</groundspeak:difficulty>
<groundspeak:terrain>2</groundspeak:terrain>
<groundspeak:country>Belgium</groundspeak:country>
<groundspeak:state>Hainaut</groundspeak:state>



<?php
header ('Content-type: text/html; charset=utf8mb4');
$xml=simplexml_load_file("c:/geo_db/test.gpx") or die("Error: Cannot create object");

echo $xml->wpt[0]->lat . "<br>";
echo $xml->wpt[0]->lon . "<br>";
echo $xml->wpt[0]->name . "<br>";
echo $xml->wpt[0]->desc . "<br>";
echo $xml->wpt[0]->type . "<br>";
echo $xml->wpt[0]->groundspeak:container . "<br>";
echo $xml->wpt[0]->groundspeak:difficulty . "<br>";
echo $xml->wpt[0]->groundspeak:terrain . "<br>";
echo $xml->wpt[0]->groundspeak:country . "<br>";
echo $xml->wpt[0]->groundspeak:state . "<br>";
?>

Reageren