Avatar billede straszek Praktikant
09. marts 2003 - 18:05 Der er 13 kommentarer og
1 løsning

fopen - gem data i fil

Jeg forsøger at gemme et mysql udtræk i en txt fil med nedensåtende script. Det virker dog ikke, der kommer ingen fejlmeddelelse, men der kommer ikke noget i filen.

Hvad er galt.

$resultat = mysql_query("select fornavn, mlnavn, efternavn, adresse1, adresse2, postnr, sted, land from mindb") or die(mysql_error());
while ($raekke = mysql_fetch_array($resultat)) {

    $file = "returneedata.txt";
    if (is_writable($file)) {
        $fp = fopen($file, "a");
        fwrite($fp, "$fornavn, $mlnavn, $efternavn, $adresse1, $adresse2, $postnr, $sted, $land\n");
        fclose($fp);
    }
    }
?>

?
Avatar billede ahv Nybegynder
09. marts 2003 - 18:07 #1
fwrite($fp, "$raekke[fornavn], $raekke[mlnavn], $raekke[efternavn], $raekke[adresse1], $raekke[adresse2], $raekke[postnr], $raekke[sted], $raekke[land]\n");

Prøv dette!
Avatar billede straszek Praktikant
09. marts 2003 - 18:27 #2
Det hjalp ikke en disse, samme problem.
Avatar billede ahv Nybegynder
09. marts 2003 - 18:30 #3
Her kan ses et lille eksempel som virker:

$query = mysql_query("select * from profiler") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "a");
fwrite($fp, "$row[id], $row[brugernavn]\n");
fclose($fp);
}
}
Avatar billede straszek Praktikant
09. marts 2003 - 21:04 #4
Det hjalp, hvordan skal det se ud hvis filen 'hej.txt', skal tømmes INDEN der skrives i den?
Avatar billede ahv Nybegynder
09. marts 2003 - 21:21 #5
Ved ikke om det kan gøres smartere, men en løsning er:

$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "w");
fwrite($fp, "");
fclose($fp);
}

$query = mysql_query("select * from profiler") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "a");
fwrite($fp, "$row[id], $row[brugernavn]\n");
fclose($fp);
}
}
Avatar billede ahv Nybegynder
09. marts 2003 - 21:23 #6
$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "w");
fwrite($fp, "");
fclose($fp);
}

$query = mysql_query("select * from profiler") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
if (is_writable($file)) {
$fp = fopen($file, "a");
fwrite($fp, "$row[id], $row[brugernavn]\n");
fclose($fp);
}
}
Avatar billede ahv Nybegynder
09. marts 2003 - 21:25 #7
Rettelser igen ;) Det ville nok være smartere at åbne filen og lægge det hele i også lukke den istedet for at åbne og lukke ved hvert input:

$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "w");
fwrite($fp, "");
fclose($fp);
}

$fp = fopen($file, "a");
$query = mysql_query("select * from profiler") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
if (is_writable($file)) {
fwrite($fp, "$row[id], $row[brugernavn]\n");
}
}
fclose($fp);
Avatar billede straszek Praktikant
10. marts 2003 - 08:24 #8
Hej ahv.

Jeg bruger nu overstående og det giver følgende meddelelse:

Warning: fopen("returnee.txt","a") - Permission denied in /home/sites/site383/web/returnee/datatilfil.php on line 12

Warning: Supplied argument is not a valid File-Handle resource in /home/sites/site383/web/returnee/datatilfil.php on line 19

Jeg har givet filen 'returnee.txt' chmod 777
Avatar billede ahv Nybegynder
10. marts 2003 - 09:16 #9
Kan du få den til at fungere med:

$query = mysql_query("select * from profiler") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "a");
fwrite($fp, "$row[id], $row[brugernavn]\n");
fclose($fp);
}
}

Uden den melder fejl?
Avatar billede straszek Praktikant
10. marts 2003 - 09:25 #10
ja det kan jeg godt. Men jeg har bare brug for at den tømmer filen før der puttes noget i den.
Avatar billede ahv Nybegynder
10. marts 2003 - 09:27 #11
Hvad siger den så til den "besværlige" vej:

$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "w");
fwrite($fp, "");
fclose($fp);
}

$query = mysql_query("select * from profiler") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$file = "hej.txt";
if (is_writable($file)) {
$fp = fopen($file, "a");
fwrite($fp, "$row[id], $row[brugernavn]\n");
fclose($fp);
}
}

De virker nemlig fint hos mig, alle sammen.
Avatar billede straszek Praktikant
10. marts 2003 - 09:47 #12
Det hjalp, men et nyt problem er opstået. Jeg bruger nedenstående:

fwrite($fp, "$row[fornavn], $row[mlnavn], $row[efternavn], $row[adresse1], $row[adresse2], $row[postnr], $row[sted], $row[land]\n");

Men i det bliver kun i filen skrevet oplysninger til og med $row[adresse1]. Men det er måske et helt andet spørgsmål?
Avatar billede ahv Nybegynder
10. marts 2003 - 10:05 #13
Prøv lige at lave en:

fwrite($fp, "$row[adresse2], $row[postnr], $row[sted], $row[land]\n");

Kan den sætte disse 4 ind?
Avatar billede straszek Praktikant
10. marts 2003 - 15:33 #14
Jeg skrev den ovenstående linje igen, og nu virker det! HURRA

Takker for hjælpen!


Søren
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