Avatar billede amews_aj Nybegynder
08. februar 2005 - 12:08 Der er 5 kommentarer og
1 løsning

Skrive, slette, hente fra txt fil?

Jeg vil gerne bruge en txt fil til lagring af brugere og md5 koder.

Den skal indskrive:  brugernavn, kode, rettigheder

Så vil jeg gerne have at jeg kan hente oplysningerne ud igen ved at søge efter linjen der starter med brugernavn, så kan jeg hnte de andre oplysninger ud fra den linje ved at explode..

Til sidst vil jeg gerne have at jeg kan opdatere kode, eller bare slette den linje, og skrive en ny ind i stedet, hvordan kan man det?

Skriv hvis i har spørgsmål
Avatar billede kasperbn Nybegynder
08. februar 2005 - 17:42 #1
Som det første vil jeg lige sige at når vi snakker filer og data bør du overveje at bruge xml standarden. Php har faktisk indbyggede xmlfunktioner, til at skrive, hente og redigere i filer.

Tjek det her ud:
http://dk2.php.net/simplexml
http://dk2.php.net/xml
Avatar billede amews_aj Nybegynder
08. februar 2005 - 19:16 #2
Hmm.. JEg forstår ikke så meget, kan du ikke lave de eksempler jeg skal bruge.. Så ville jeg blive glad :D
Avatar billede kasperbn Nybegynder
09. februar 2005 - 11:07 #3
Jeg kan da prøve. Kig under www.w3schools.com for at læse om xml.
Xml er en anerkendt syntaks, som man med fordel kan flette sine data ind i hvis man har til hensigt at gemme data i filer. F.eks. vil dit xml-doc nok se sådan ud:

---------- start på fil data.xml ----------
<?xml version='1.0' standalone='yes'?>

<person>
  <brugernavn>kurt</brugernavn>
  <kode>andedam7</kode>
  <rettigheder>stdbruger</rettigheder>
</person>

<person>
  <brugernavn>allan</brugernavn>
  <kode>knitrelyd78</kode>
  <rettigheder>stdbruger</rettigheder>
</person>

--------- slut på fil data.xml ---------

For at hente data ud i dit phpdoc kan du gøre følgende:

--------- start på read.php -----------
<?php

$xmlstr = <<<XML
include("data.xml");
XML;

$xml = simplexml_load_string($xmlstr);

/** Nu kan du hente data ud på følgende måde**/
echo $xml->person[0]->brugernavn; //Her skriver den "kurt"
echo $xml->person[0]->brugernavn; //Her skriver den "allan"

/* Søg efter allan's kode */
for($i=0;$i<sizeof($xml);$i++) {
  if($xml->person[$i]->brugernavn == "allan") {
    echo $xml->person[$i]->kode; //Skriver "knitrelyd78"
  }
}

/** HER KAN DU RETTE I EN PERSON **/
$xml->person[0]->brugernavn = "julemanden"; // HER ÆNDRER DU $xml
echo $xml->asXML(); //HER OPDATERER DU data.xml


/** Kan ikke lige gennemskue hvordan du tilføjer en person med simplexml, men ellers kan du appende til dokumentet på tradiotionel vis:**/
$filename = 'data.xml';
$somecontent = "
<person>
  <brugernavn>trille</brugernavn>
  <kode>blapq3</kode>
  <rettigheder>stdbruger</rettigheder>
</person>
";

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

  // In our example we're opening $filename in append mode.
  // The file pointer is at the bottom of the file hence
  // that's where $somecontent will go when we fwrite() it.
  if (!$handle = fopen($filename, 'a')) {
        echo "Cannot open file ($filename)";
        exit;
  }

  // Write $somecontent to our opened file.
  if (fwrite($handle, $somecontent) === FALSE) {
      echo "Cannot write to file ($filename)";
      exit;
  }
 
  echo "Success, wrote ($somecontent) to file ($filename)";
 
  fclose($handle);

} else {
  echo "The file $filename is not writable";
}


?>
Avatar billede amews_aj Nybegynder
09. februar 2005 - 12:02 #4
hmm, lidt svært at finde rundt i synes jeg, hvor skriver den, hvor henter den, og hvor opdaterer den?
Avatar billede amews_aj Nybegynder
10. februar 2005 - 17:47 #5
JEg er komemt i tanker om at jeg har en måde at hente og indsætte på.

Så mangler jeg bare en til at slette og redigere med, kan du ikke lave det, forstår ikke helt dit første eksempel...
Avatar billede amews_aj Nybegynder
10. februar 2005 - 18:58 #6
Tror jeg prøver at lave selv... KAn jo faktisk bare:

Indsætte:
$fp = fopen("index3.php", "a");
$dump = "\$aaa = \$aaa";
fputs($fp, $dump);
fclose($fp);


Så kan jeg jo finde den linje via php igen, det kan jeg meget lettere finde ud af...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester