PDA

Bekijk Volledige Versie : [PHP] inhoud van een formulierveld naar txt-file schrijven



Poster666
24/12/03, 23:00
Ok, nadat de gebruiker in een veld (nieuws genaamd) op het formulier iets
heeft ingevuld, wil ik dit wegschrijven in een txt-bestand. Met volgend
scriptje lukt dat:

<?php
$filename = "../nieuws.txt";
$fp = fopen($filename,"a") or die("Kan bestand $filename niet openen");
fputs( $fp, $nieuws);
fclose( $fp );
?>

Nu is het zo dat de tekst , als men dit formulier meerdere keren gebruikt,
vlak achter elkaar staat. Dus dan heeft nieuws.txt bvb volgende inhoud:
--------------------------------------------------------
tekst 1ste maal tekst 1ste maal tekst 1ste maal tekst 1ste maal tekst 1ste
maal tekst 1ste maal tekst 2de maal tekst 2de maal tekst 2de maal tekst 2de
maal tekst 2de maal
--------------------------------------------------------
Dit wil ik natuurlijk vermijden. Kan ik dit met gewoon te schrijven:
fputs( $fp,$nieuws\n);
Of moet ik dit anders oplossen? Ik wil wel met txt-files blijven werken.

Dank bij voorbaat,
me


---
This mail has been checked by AVG Antivirus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.554 / Virus Database: 346 - Release Date: 20/12/2003

Maarten Wierda
24/12/03, 23:45
Poster666 wrote:

<snip>

> Nu is het zo dat de tekst , als men dit formulier meerdere keren gebruikt,
> vlak achter elkaar staat. Dus dan heeft nieuws.txt bvb volgende inhoud:
> --------------------------------------------------------
> tekst 1ste maal tekst 1ste maal tekst 1ste maal tekst 1ste maal tekst 1ste
> maal tekst 1ste maal tekst 2de maal tekst 2de maal tekst 2de maal tekst 2de
> maal tekst 2de maal
> --------------------------------------------------------
> Dit wil ik natuurlijk vermijden. Kan ik dit met gewoon te schrijven:
> fputs( $fp,$nieuws\n);

Afhnakelijk van je OS kan dit \n zijn i.d.d. Maar ik zou het dan wel
correct doen:

fputs($fp,$nieuws."\n");

> Of moet ik dit anders oplossen? Ik wil wel met txt-files blijven werken.

Werkt bovenstaande niet? En je wilt toch scheiden met een nieuwe regel?
Even uit mijn hoofd:

Windows : \r\n,
Unix : \n
Mac : \r

Succes.

--
Cheers, Maarten Wierda

"Meeting Again For The First Time"
PTW/YCBYG

Hans Kadans
25/12/03, 04:45
"Poster666" <eric.van.eynde@pandoraSPAM.be> schreef in bericht
news:GPnGb.95010$D46.4280414@phobos.telenet-ops.be...

> Dit wil ik natuurlijk vermijden. Kan ik dit met gewoon te schrijven:
> fputs( $fp,$nieuws\n);
> Of moet ik dit anders oplossen? Ik wil wel met txt-files blijven werken.
probeer eens fputs( $fp,"$nieuws\n");

of
$nieuws .="\n";
fputs( $fp,$nieuws);

Poster666
25/12/03, 14:00
"Maarten Wierda" <moart3nAT@chello.nl> schreef in bericht
news:bsd43p$2jct$1@nl-news.euro.net...
<knip>
>
> fputs($fp,$nieuws."\n");
>
<knip>

Werkt niet, de tekst wordt nog achter elkaar gezet. Het gaat om
Linux-draaiende apache-servers (die van digitalus.nl ). Nu ga ik kerstmis
vieren met familie, ik zal de andere mogelijkheden later proberen


---
This mail has been checked by AVG Antivirus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.554 / Virus Database: 346 - Release Date: 20/12/2003

Poster666
25/12/03, 20:00
"Hans Kadans" <hansie@kadansie.bibi> schreef in bericht
news:LRsGb.95263$GJ5.4233348@phobos.telenet-ops.be...
<knip>.
> probeer eens fputs( $fp,"$nieuws\n");
> of
> $nieuws .="\n";
> fputs( $fp,$nieuws);
<knip>

Blijkt niet te werken, de teksten staan nog achter elkaar ipv een nieuwe
regel, maar bij de laatste mogelijkheid drukt hij in de txt-file wel een
vierkantje bij af, dat, volgens mij het "/n"-teken is.
Volgend script gebruik ik om de inhoud van de txt-file te lezen, kan ik mijn
probleem misschien oplossen door daar iets te wijzigen?
----------------------------------------------------------------------------
--
<?php
$filename = "nieuws.txt";
$fh = fopen($filename, "r") or die("Kan bestand niet openen");
$data = fread($fh, filesize($filename)) or die("Kan bestand niet
lezen");
fclose($fh);
print "$data<br />";
?>
----------------------------------------------------------------------------
-



---
This mail has been checked by AVG Antivirus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.554 / Virus Database: 346 - Release Date: 20/12/2003

Poster666
25/12/03, 20:30
"Hans Kadans" <hansie@kadansie.bibi> schreef in bericht
news:vRGGb.96247$DY4.4083773@phobos.telenet-ops.be...
> Probeer eens
<knip>
> <?
> // lezen
> $fd = fopen ($file, "r");
> while (!feof ($fd)) {
> $buffer = fgets($fd, 4096);
> echo "$buffer<BR>";
> }
> fclose ($fd);
> ?>
ok, sorry, even een vraagje tussendoor, die 4096, waarvoor staat die? (ik
wil niet alleen code kopieren, ook wat leren :) )


---
This mail has been checked by AVG Antivirus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.554 / Virus Database: 346 - Release Date: 20/12/2003

Poster666
25/12/03, 20:45
"Hans Kadans" <hansie@kadansie.bibi> schreef in bericht
news:vRGGb.96247$DY4.4083773@phobos.telenet-ops.be...
> Probeer eens
<knip>

hans, het werkt perfect. Als je ooit door Belgiƫ komt, in de streek
Hasselt-Leuven, laat me dan maar iets weten, dan trakteer ik je op een
Belgisch biertje


---
This mail has been checked by AVG Antivirus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.554 / Virus Database: 346 - Release Date: 20/12/2003

Tim Van Wassenhove
26/12/03, 01:46
On 2003-12-25, Poster666 <eric.van.eynde@pandoraSPAM.be> wrote:
>
> "Hans Kadans" <hansie@kadansie.bibi> schreef in bericht
> news:LRsGb.95263$GJ5.4233348@phobos.telenet-ops.be...
><knip>.
>> probeer eens fputs( $fp,"$nieuws\n");
>> of
>> $nieuws .="\n";
>> fputs( $fp,$nieuws);
><knip>
>
> Blijkt niet te werken, de teksten staan nog achter elkaar ipv een nieuwe
> regel, maar bij de laatste mogelijkheid drukt hij in de txt-file wel een
> vierkantje bij af, dat, volgens mij het "/n"-teken is.
> Volgend script gebruik ik om de inhoud van de txt-file te lezen, kan ik mijn
> probleem misschien oplossen door daar iets te wijzigen?
> ----------------------------------------------------------------------------
> --
><?php
> $filename = "nieuws.txt";
> $fh = fopen($filename, "r") or die("Kan bestand niet openen");
> $data = fread($fh, filesize($filename)) or die("Kan bestand niet
> lezen");
> fclose($fh);
> print "$data<br />";
> ?>
> ----------------------------------------------------------------------------

Indien je tekst in een html pagina wilt tonen, dan werken newlines niet.
Daar heb je "<br />" voor.


--
verum ipsum factum

Poster666
26/12/03, 13:15
"Tim Van Wassenhove" <euki@pi.be> schreef in bericht
news:bsfvti$coq0n$1@ID-188825.news.uni-berlin.de...
<knip>
> Indien je tekst in een html pagina wilt tonen, dan werken newlines niet.
> Daar heb je "<br />" voor.
<knip>

Maar als de tekst al in de txt-files verkeerd wordt gezet, dan heb je toch
een newline nodig, niet waar?


---
This mail has been checked by AVG Antivirus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.554 / Virus Database: 346 - Release Date: 20/12/2003