/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408871
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste