Vraag & Antwoord

Webprogrammeren & scripting

Gegevens uit tekstbestand lezen met explode() lukt niet.

8 antwoorden
  • Na heel veel geploeter van deze PHP-noob heb ik een formuliertje in elkaar gemeubelt waardoor bezoekers een link kunnen toevoegen aan een soort database. Nu worden deze links mooi opgeslagen in 'links_db.txt' zoals onderstaand:[code:1:2e3ef721c6]Naam|Email|Url|Omschrijving|Datum|IP|[/code:1:2e3ef721c6]Op elke regel een zoiets. Nu heb ik ff internet rondgesnuffeld; en deze waarden kun je met [code:1:2e3ef721c6]explode()[/code:1:2e3ef721c6] weer opsplitsen in arrays etc. Maar heb al poosje lopen kloten; maar krijg het niet voor elkaar om ze dr uit te pleuren. Heeft iemand een tip hoe ik dat het beste kan oplossen; dan kan ik tenminste weer verder met de site :).
  • eerst zal je iets moeten doen als $links = file('links.txt'); dan wordt $links een array met daarin de regels uit het tekstbestand. vervolgens $links = array_map($links, create_function('$v', "return explode('|', $v);") ); nu bestaat elke waarde uit $links weer uit een array, met daarin de regel opgesplitst in bovengenoemde delen: [code:1:b6f2662298] Array( [0] => Array( [0] => naam [1] => email [2] => url etc ) [1] => Array( [0] => naam2 [1] => email2 etc ) )[/code:1:b6f2662298] of bedoel je dit niet?
  • Krijg een paar fouten [size=9:f5f53d8a04]Parse error: parse error, unexpected ')' in /home/htb/domains/htb.ath.cx/public_html/includes/link_up.inc(47) : runtime-created function on line 1 Warning: array_map(): The first argument, 'Array', should be either NULL or a valid callback in /home/htb/domains/htb.ath.cx/public_html/includes/link_up.inc on line 47[/size:f5f53d8a04]
  • srry, de argumenten moesten worden omgedraaid: $links = array_map(create_function('$v', "return explode('|', $v);"), $links);
  • Kweet et nie; maar krijg nog steeds foutmelding. [size=9:866e761077]Parse error: parse error, unexpected ')' in /home/htb/domains/htb.ath.cx/public_html/includes/link_up.inc(47) : runtime-created function on line 1 Warning: array_map(): The first argument, '', should be either NULL or a valid callback in /home/htb/domains/htb.ath.cx/public_html/includes/link_up.inc on line 47[/size:866e761077] http://htb.ath.cx/index.php?inhoud=link_up
  • en line 47 is de regel waar 'mijn' code op staat?[/code]
  • yup. Alleen als ik [b:615fd1c65b]$v[/b:615fd1c65b] een getal meegeef ervoor; dan krijg ik geen foutmelding; maar krigj ik ook geen uitvoer van de links.
  • Heb ff wat verder doorgesnuffeld; en heb nu een code die ik gedeeltelijk van een site heb getrokken. Deze zou moeten werken; maar het werkt natuurlijk niet bij mij :'( [code:1:0ad59945b2]$file = fopen($bestand, "r"); $aantal_regels = count($file); for ($i = 0; $i < $aantal_regels ; $i++) { list ( $naam, $email, $http_url, $omschrijving, $date, $ip, ) = explode ('|', $bestand[$i] ) ; echo "<li><a href=\"$http_url\">$omschrijving</a> toegevoegd door <a href=\"mailto:$email\">$naam</a></li>"; } fclose($file);[/code:1:0ad59945b2] Er wordt alleen een 'i' weergeven bij $naam. Voor de rest is alles leeg :S http://htb.ath.cx/index.php?inhoud=link_up database: http://htb.ath.cx/includes/links_db.txt

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.