Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Bestanden uit een .txt lezen

Anoniem
blackhawkdesign
9 antwoorden
  • Dag,

    Ik heb een vraagje.
    Is het mogelijk om met .php gegevens uit te lezen uit een .txt bestand en die vervolgens weer te geven om een pagina? Zo ja, hoe moet dat of met welke functie?

    Alvast bedankt;
    Niek van Oost
  • hier is een heel simpel voorbeeld:

    <?php

    $inhoud = file_get_contents("naamBestand.txt";);

    echo $inhoud;

    ?>

    dit is de meest basische manier op de inhoud van dat bestand naar de gebruiker te krijgen.

    wat de functie file_get_contents doet is dit, hij haalt alles op uit het bestand als een string. als ie de file niet kan vinden geeft ie een false terug.
  • Oké thanks..

    alleen nu geeft die alles achter elkaar aan, is er ook een mogelijk om er een enter tussen te zetten? ik heb al het 1 en ander zitten proberen met
    alleen dat geeft een error.
    Het zijn 5 regels onder elkaar en dan vervolgens een regele regel en dan weer 5 regels onder elkaar enzovoort..

    Is daar ook een manier voor?

    Alvast bedankt,
  • [quote:b0a264efa3="PC_wdam"]ik heb al het 1 en ander zitten proberen met
    alleen dat geeft een error.[/quote:b0a264efa3]Wat heb je geprobeerd dan?

    - Bas
  • [code:1:79c15539d2]<?php

    $inhoud = file_get_contents("gegevens.txt");

    echo $inhoud "
    ";
    ?>

    <?php

    $inhoud = file_get_contents("gegevens.txt");

    echo $inhoud ;
    "
    ";
    ?>
    [/code:1:79c15539d2]

    en dergelijke…

  • Ik weet niet precies wat je bedoelt, maar hieronder een mogelijkheid om de string $inhoud te splitsen op basis van witregel:
    [code:1:86ec5fd9c9]<?php
    $inhoud = file_get_contents("gegevens.txt");
    $inhoud = split("

    ", $inhoud);
    print_r($inhoud);
    ?>[/code:1:86ec5fd9c9]
    $inhoud is nu een numerieke array, zoals je kunt zien. Daarmee kun je dus verder je ding doen, met bijvoorbeeld $inhoud[1] in div A te plaatsen, etc. of met een loopje.

    Als het gewoon 1 ding moet blijven, maar je wil de weergave weer opdelen in paragraven, dan kun je het zo doen:
    [code:1:86ec5fd9c9]<?php
    $inhoud = file_get_contents("gegevens.txt");
    $inhoud = "<p>".$inhoud."</p>";
    $inhoud = str_replace("

    ", "</p>
    <p>", $inhoud);
    print_r($inhoud);
    ?>[/code:1:86ec5fd9c9]
    Hiermee zet je eerst het geheel als een paragraaf, en vervolgens vervang je elke witregel door een paragraafeinde, een regeleinde (niet perse nodig, maar maakt de bron prettiger leesbaar) en een paragraafstart.

    Als dat ook niet is wat je wil, dan moet je even iets duidelijker zijn. ;)




  • [quote:f183462196="Ger"][…][/quote:f183462196]Leuke benadering. Het zou écht compleet zijn als je niet alleen 2x
    zou vervangen, maar 2 of meer opeenvolgende
    . Maar dan moet je waarschijnlijk met regexps gaan werken…

    - Bas

  • Klopt, en dat lijkt me een beetje overkill als je zeker weet welke structuur het bestand heeft. En het zal op zich ook niet zo'n probleem zijn als er 3x
    zou staan. 4 zou meer problemen opleveren, maar dat lijkt me onwaarschijnlijk in het geval van de TS.
  • Als je .txt bestand alle gegevens op een eigen lijn heeft staan, dus na elke gegevensrij een enter, dan zou ik het zo doen:
    [code:1:4e26ceb280]<?php

    $fp = fopen("bestand.txt","rb");
    $fr = fread($fp,1000);

    $array = explode("
    ",$fr);

    print_r($array);

    ?>[/code:1:4e26ceb280]

    Evt. kun je nog toevoegen:
    [code:1:4e26ceb280]sort();[/code:1:4e26ceb280]

    Het voordeel van dit stukje script is dat hij binary-safe uitleest en dat je de mode zelf kan aanpassen.

    Je zou voor meer mogelijkheden ook de PHP-manual op php.net kunnen raadplegen.

Beantwoord deze vraag

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