Avatar billede digiman Nybegynder
22. november 2001 - 08:07 Der er 19 kommentarer og
1 løsning

Skrive til fil...

jeg vil gerne åbne en fil og skrive $streng til enden af filen, og derefter lukke den igen...

but how?
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:09 #1
Like this:

$fh = fopen(\"filen.txt\", \"a\");
if ($fh) {
    fputs($fh, $streng);
    fclose($fh);
} else {
  # filen kunne ikke åbnes
}
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:10 #2
Evt.

$fh = @fopen(\"filen.txt\", \"a\");
if ($fh) {
    fputs($fh, $streng);
    fclose($fh);
} else {
  # filen kunne ikke åbnes
}

(et @ foran fopen())
Avatar billede starfish Nybegynder
22. november 2001 - 08:13 #3
$fp = fopen (\"fil.txt\", \"a\");
$fputs ($fp, $streng);
fclose ($fp);

Åbner en fil og appender til den
skriver $streng til den
og lukker den igen
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:14 #4
starfish .. der skal ikke $ foran fputs().
Avatar billede starfish Nybegynder
22. november 2001 - 08:20 #5
nej, det så jeg også lige. Men noget helt andet er at det skrevne bliver på en linje?! Hvordan laver man linjeskift?

Har prøvet med noget chr(10).char(13) men det virker ikke :-(
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:22 #6
\\n ...

$fh = @fopen(\"filen.txt\", \"a\");
if ($fh) {
    fputs($fh, \"$streng\\n\");
    fclose($fh);
} else {
  # filen kunne ikke åbnes
}

f.eks.
Avatar billede digiman Nybegynder
22. november 2001 - 08:24 #7
Jeg får error på følgende linier:

fputs($email_file, $email);
fclose($email_file);
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:25 #8
Hvis du bruger mit eksempel så burde du ikke få en fejl ..

prøv at skrive:

echo $email_file;

LIGE efter fopen();

hvis den giver 0 så blev filen ikke åbnet korrekt..
Avatar billede starfish Nybegynder
22. november 2001 - 08:27 #9
fputs($fp, \"$streng\\n\"); Giver ikke et CR hos mig!? Der kommer bare en firkant i selve tekstfilen. Har også prøvet med \\r og lige lidt hjalp det... øv :-)
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:29 #10
\\n er newline (ASCII 10 og 13) .. hvis du bare får en firkant er der noget andet galt .. for HER virker det.
Avatar billede digiman Nybegynder
22. november 2001 - 08:29 #11
Jeg får ikke noget output på $email_file
Avatar billede digiman Nybegynder
22. november 2001 - 08:30 #12
invisibleman: Hvis du åbner den i notepad får du en firkant... men åbner du den i f.eks. wordpad (som kan konventere filen), får du linie-skift...
Avatar billede digiman Nybegynder
22. november 2001 - 08:30 #13
<?

if ($email) {
$email_file = @fopen(\"emails.lst\",\"a\");
echo $email_file;
fputs($email_file, $email);
fclose($email_file);
}

?>
Avatar billede digiman Nybegynder
22. november 2001 - 08:31 #14
Er vi enige?
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:31 #15
digiman, vis mig den kode du bruger PRÆCIST...

\\n giver ingen firkanter i notepad her ...
Avatar billede digiman Nybegynder
22. november 2001 - 08:31 #16

Warning: Supplied argument is not a valid File-Handle resource in d:\\game.php on line 6

Warning: Supplied argument is not a valid File-Handle resource in d:\\game.php on line 7
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:33 #17
if ($email) {
  $fh = @fopen(\"emails.lst\",\"a\");
  fputs($fh, $email);
  fclose($fh);
}

først så er der ingen grund til at bruge så lange variabelnavne til sådanne ting .. det er rent ud sagt irriterende ...

Men ja, vi er enige.

Men prøv at fjerne @ og se om du får en fejl-.
Avatar billede digiman Nybegynder
22. november 2001 - 08:36 #18
Nu virker det :) thx :)
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:36 #19
Okay ... så er det fordi den ikke kan åbne filen.
Hvis du kører dit PHP på en Apache webserver så prøv at skrive:

fopen(\"$DOCUMENT_ROOT/emails.lst\", \"a\");
Avatar billede invisibleman Nybegynder
22. november 2001 - 08:37 #20
Nå okay .. *G* fino fino *S*
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