|
| Indlæsning og visning af textfil i PHP Fra : F |
Dato : 08-05-01 17:50 |
|
Hejsa
Jeg har lavet et lille script der viser på en side hvilke ip-adresser der
har været på siden.
Det ser således ud:
--------------------------------------------
<?PHP
echo "You IP-address is: ".$REMOTE_ADDR;
echo "<BR>";
echo "Your address has been logged";
?>
<BR><BR>
Following IP's has been logged:
<?PHP
$filename = "d:/sambar/virtual/php/log.txt";
$fp=fopen($filename, 'a+');
fwrite($fp, $REMOTE_ADDR."\n");
fclose($fp);
?>
<?PHP
$filename = "d:/sambar/virtual/php/log.txt";
$fp = fopen($filename, "r");
$file_contents = fread($fp, filesize($filename));
fclose($fp);
printf($file_contents);
?>
--------------------------------------------
Det kan sandsynligvis sættes MEGET pænere op, og kan garanteret også
optimeres mange gange, men jeg har først lige kastet mig ud i PHP idag, så
"be gentle".
Mit problem er, at når jeg, i sidste linie, viser filen til browseren, så
glemmer den alt om de enter-tegn der er i filen, og viser dem bare på en
lang linie... I don't get it?!
Printf er jo formatted text, og burde vel tage CR's med???
Mvh Frank Nørvig
| |
F (08-05-2001)
| Kommentar Fra : F |
Dato : 08-05-01 17:53 |
|
SORRY, glem nedenstående problem, det var mig der stirrede mig blind på en
dum fejl. Har fået tilføjet en <BR> i koden, så den selv sætter
linieskift... dumme mig.
Men er der så nogen der kan hjælpe mig med at optimere koden?
Mvh Frank Nørvig
"F" <not@for.you> wrote in message news:9d988h$1ktl$1@tnews.inet.tele.dk...
> Hejsa
>
> Jeg har lavet et lille script der viser på en side hvilke ip-adresser der
> har været på siden.
> Det ser således ud:
> --------------------------------------------
> <?PHP
> echo "You IP-address is: ".$REMOTE_ADDR;
> echo "<BR>";
> echo "Your address has been logged";
> ?>
>
> <BR><BR>
> Following IP's has been logged:
>
> <?PHP
> $filename = "d:/sambar/virtual/php/log.txt";
> $fp=fopen($filename, 'a+');
> fwrite($fp, $REMOTE_ADDR."\n");
> fclose($fp);
> ?>
>
> <?PHP
> $filename = "d:/sambar/virtual/php/log.txt";
> $fp = fopen($filename, "r");
> $file_contents = fread($fp, filesize($filename));
> fclose($fp);
>
> printf($file_contents);
> ?>
> --------------------------------------------
>
> Det kan sandsynligvis sættes MEGET pænere op, og kan garanteret også
> optimeres mange gange, men jeg har først lige kastet mig ud i PHP idag, så
> "be gentle".
>
> Mit problem er, at når jeg, i sidste linie, viser filen til browseren, så
> glemmer den alt om de enter-tegn der er i filen, og viser dem bare på en
> lang linie... I don't get it?!
> Printf er jo formatted text, og burde vel tage CR's med???
>
> Mvh Frank Nørvig
>
>
| |
Andreas Kleist Svend~ (08-05-2001)
| Kommentar Fra : Andreas Kleist Svend~ |
Dato : 08-05-01 21:32 |
|
"F" <not@for.you> wrote in <9d98cf$1ldc$1@tnews.inet.tele.dk>:
>Men er der så nogen der kan hjælpe mig med at optimere koden?
Om det går hurtigere af det kan jeg ikke sige, men af skønhedshensyn ville
jeg rette det følgende:
>> $filename = "d:/sambar/virtual/php/log.txt";
>> $fp = fopen($filename, "r");
>> $file_contents = fread($fp, filesize($filename));
>> fclose($fp);
>>
>> printf($file_contents);
til:
include("d:/sambar/virtual/php/log.txt");
Denne ene linie gør det samme som de 5(6) ovenfor.
--
mvh Andreas Kleist Svendsen
http://nau.dk
| |
Peter Brodersen (08-05-2001)
| Kommentar Fra : Peter Brodersen |
Dato : 08-05-01 22:49 |
|
On Tue, 8 May 2001 20:31:39 +0000 (UTC), usenetnospam@nau.dk (Andreas
Kleist Svendsen) wrote:
>>> printf($file_contents);
[..]
>include("d:/sambar/virtual/php/log.txt");
>
>Denne ene linie gør det samme som de 5(6) ovenfor.
Ikke helt, men:
readfile("d:/sambar/virtual/php/log.txt");
.... gør. Hvis der for some raisin skulle være PHP i log.txt, vil den
blive afviklet.
I dette tilfælde er det selvfølgelig tvivlsomt, at der skulle være PHP
i en sådan log, mere blot for at gøre opmærksom på det. Hvis
brugerinput bliver logget, kunne det fx være kritisk nok.
--
- Pede
Professionel nørd
| |
Mr. Funny (08-05-2001)
| Kommentar Fra : Mr. Funny |
Dato : 08-05-01 18:27 |
|
On Tue, 8 May 2001 18:52:33 +0200, F <not@for.you> wrote:
>SORRY, glem nedenstående problem, det var mig der stirrede mig blind på en
>dum fejl. Har fået tilføjet en <BR> i koden, så den selv sætter
>linieskift... dumme mig.
>
Jeg ville bare have gjort sådan her:
<pre>
<?PHP
$filename = "d:/sambar/virtual/php/log.txt";
$fp = fopen($filename, "r");
$file_contents = fread($fp, filesize($filename));
fclose($fp);
printf($file_contents);
?>
</pre>
Så slipper du for det problem.
En anden løsning kunne være denne (Ikke afprøvet):
<?PHP
$filename = "d:/sambar/virtual/php/log.txt";
$fp = fopen($filename, "r");
$file_contents = fread($fp, filesize($filename));
fclose($fp);
printf(nl2br($file_contents));
?>
- Chano Andersen
| |
|
|