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

(php) array schrijven naar bestand

Anoniem
Rumaro
6 antwoorden
  • Ik heb het volgende script:
    [code:1:ee4d1e21ca]<?php
    $words = file ("test.txt", "r") or exit("Unable to open file!");
    foreach ($words as $line_num => $word)
    {
    $links=substr ($word,0,10);
    $lengte = strlen("$word");
    $rechts = substr ($word,10,$lengte);

    $links = str_replace("-", "", $links);
    $dag = substr($links,0,2);
    $maand = substr($links,2,2);
    $jaar = substr($links,4,4);
    $links= $jaar.$maand.$dag;


    $words[$line_num]=$links.$rechts;
    echo $words[$line_num].'<br>';
    }

    ?>[/code:1:ee4d1e21ca]

    In de test.txtfile staan regels zoals:
    12-03-2008feest

    de datum wordt (om te kunnen sorteren) omgezet in:
    20080312

    Dat werkt allemaal, geen probleem, maar nu wil ik die complete
    array terugschrijven naar de file.

    Ik heb al van alles geprobeerd, maar kan geen goede schrijfwijze vinden om de array op te slaan.

    en die r wordt dan r+ he :wink:
  • Wellicht is een andere vorm van opslaan een optie, zoals: http://nl3.php.net/manual/nl/function.serialize.php

    Slechts een suggestie, maar volgens mij exact om complexe objecten op te slaan. ;)

    - Bas
  • Ik heb het inmiddels al opgelost.

    Wel heel erg omslachtig, maar het werkt. :D

    1. lees file en verander de datum in het array
    2. sla alle arrays achter elkaar op als 1 grote file (x=x.y)
    3. lees die nieuwe file weer in als een array en gebruik de sorteerfunctie
    4. verwijder de inmiddels lege arrays (datum is voorbij)
    5. sla alle arrays achter elkaar op als 1 grote file (x=x.y)
    6. lees die nieuwe file weer in als een array en zet de datum weer terug zoals hij stond (dus 12-03-2008 ipv 20080312)
    7. sla alle arrays achter elkaar op als 1 grote file (x=x.y) met nu de naam van het bestand bij 1.

    Ja ik weet het, het zal best makkelijker kunnen, maar zover reikt mijn kennis nog niet. :wink:
  • Je kan gebruik maken van serialize. Dit kan je gebruiken om zowel arrays als objecten weg te schrijven naar een bestand. Om deze dan terug in te lezen kan je gebruik maken van de deserialize functie in PHP.
  • Ik heb even gekeken naar dat seriailize (het werd al eerder genoemd hier), maar ik kan er geen kaas van maken.

    Ik ben nog maar een beginner, dus het is voor mij niet duidelijk wat er staat.

    Maar ik onthou het wel en als ik beter in de materie thuis ben ga ik er zeker eens naar kijken.
  • Ik heb op mijn site een tutorial staan over het gebruik van serialize. Anders moet je deze eens lezen.

    PHP serialize tutorial

Beantwoord deze vraag

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