/ 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
Kun første linje?!?
Fra : Jens Christian Hille~


Dato : 26-09-02 21:31

~~~~~
<?PHP
$fp = fopen($p.".txt", "r");

$file = fgets($fp,4096);
$file = nl2br($file);

echo $file;
?>
~~~~~
Hvorfor får jeg kun første linje af txtfilen jeg "echo'er"? Det er
garanteret såreenkelt, men jeg er newbie, så plz skær det ud i pap, tak.

--
- Jens Christian Hillerup



 
 
Henrik Hansen (26-09-2002)
Kommentar
Fra : Henrik Hansen


Dato : 26-09-02 21:38

Jens Christian Hillerup wrote:
> ~~~~~
> <?PHP
> $fp = fopen($p.".txt", "r");
>
> $file = fgets($fp,4096);
> $file = nl2br($file);
>
> echo $file;
> ?>
> ~~~~~
> Hvorfor får jeg kun første linje af txtfilen jeg "echo'er"? Det er
> garanteret såreenkelt, men jeg er newbie, så plz skær det ud i pap, tak.
>
> --
> - Jens Christian Hillerup
>
>

så vidt jeg husker kan man:

$arrFile = file("fil.txt");
echo $arrFile[0];

--
Henrik Hansen


Peter Brodersen (26-09-2002)
Kommentar
Fra : Peter Brodersen


Dato : 26-09-02 23:22

On Thu, 26 Sep 2002 22:30:45 +0200, "Jens Christian Hillerup"
<ask@4.it> wrote:

>$file = fgets($fp,4096);

>Hvorfor får jeg kun første linje af txtfilen jeg "echo'er"? Det er
>garanteret såreenkelt, men jeg er newbie, så plz skær det ud i pap, tak.

http://www.php.net/manual/en/function.fgets.php
"Returns a string of up to length - 1 bytes read from the file pointed
to by fp. Reading ends when length - 1 bytes have been read, on a
newline (which is included in the return value), or on EOF (whichever
comes first)."

Dvs. den funktion læser en linje af gangen.

--
- Peter Brodersen

Jens Christian Hille~ (27-09-2002)
Kommentar
Fra : Jens Christian Hille~


Dato : 27-09-02 11:05

Ja, ok..
Jeg skal bruge det til, at sætte <br> ind umiddelbart _inden_ include. Og
det er MEGET vigtigt, da det er til et wannabe-contentmanagement system

--
- Jens Christian Hillerup


"Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
news:an0199$bh4$1@dknews.tiscali.dk...
> On Thu, 26 Sep 2002 22:30:45 +0200, "Jens Christian Hillerup"
> <ask@4.it> wrote:
>
> >$file = fgets($fp,4096);
>
> >Hvorfor får jeg kun første linje af txtfilen jeg "echo'er"? Det er
> >garanteret såreenkelt, men jeg er newbie, så plz skær det ud i pap, tak.
>
> http://www.php.net/manual/en/function.fgets.php
> "Returns a string of up to length - 1 bytes read from the file pointed
> to by fp. Reading ends when length - 1 bytes have been read, on a
> newline (which is included in the return value), or on EOF (whichever
> comes first)."
>
> Dvs. den funktion læser en linje af gangen.
>
> --
> - Peter Brodersen



Niels Andersen (27-09-2002)
Kommentar
Fra : Niels Andersen


Dato : 27-09-02 12:23

Jens Christian Hillerup wrote in <an1ag8$1jp4$1@news.cybercity.dk>:
> Jeg skal bruge det til, at sætte <br> ind umiddelbart _inden_ include. Og
> det er MEGET vigtigt, da det er til et wannabe-contentmanagement system

Øhm...
echo "<br>
";
include($fil);

Du må meget gerne lige læse på det her:
http://usenet.dk/netikette/citatteknik.html

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Jens Christian Hille~ (27-09-2002)
Kommentar
Fra : Jens Christian Hille~


Dato : 27-09-02 13:33

> Øhm...
> echo "<br>
> ";
> include($fil);
Ja.. Det var min fejl.. Jeg er dårlig til at formulere mig.
Her er mit problem
~~~~~index.txt~~~~
Hej
Jeg hedder Jens Christian
~~~~~~~¨~~~~~~~

Og så skal jeg bruge PHP til at få dette output

~~~~~index.php~~~~~
Hej<br>
Jeg hedder Jens Christian.
~~~~~~~~~~~~~~~~

Det MÅ da kunne lade sig gøre.



Dennis Vinther (27-09-2002)
Kommentar
Fra : Dennis Vinther


Dato : 27-09-02 13:43

"Jens Christian Hillerup" <ask@4.it> wrote in news:an1j6b$1ss3$1
@news.cybercity.dk:

> Her er mit problem
> ~~~~~index.txt~~~~
> Hej
> Jeg hedder Jens Christian
> ~~~~~~~¨~~~~~~~
>
> Og så skal jeg bruge PHP til at få dette output
>
> ~~~~~index.php~~~~~
> Hej<br>
> Jeg hedder Jens Christian.
> ~~~~~~~~~~~~~~~~
>
> Det MÅ da kunne lade sig gøre.

Måske
http://www.php.net/manual/en/function.nl2br.php

Mvh
Dennis

--
Aalborg
Erstat NOSPAM med dk i min e-mail
http://dwt.dk

Niels Andersen (27-09-2002)
Kommentar
Fra : Niels Andersen


Dato : 27-09-02 13:42

Jens Christian Hillerup wrote in <an1j6b$1ss3$1@news.cybercity.dk>:
> Hej
> Jeg hedder Jens Christian
[..]
> Hej<br>
> Jeg hedder Jens Christian.

Først hentes teksten frem, så bliver den behandlet, og så til sidst
udskrevet:

$tekst = file_get_contents($fil);
$tekst = nl2br($tekst);
echo $tekst;

eller kort (og knap så overskueligt):

echo nl2br(file_get_contents($fil));

Da linjeskift er lavet uden <br>, vil jeg gætte på, at det er helt
almindelig rent tekst, der skal vises som det er. Det er et problem hvis
tegnet ">" og især "<" er i teksten. Den klarer vi sådan her:

$tekst = nl2br(htmlspecialchars($tekst));

Funktionen file_get_contents() er desværre meget, meget ny. Du har den nok
ikke til rådighed endnu. Alternativet er fx:

$tekst = implode("", file($fil));

Det virker, men det er ikke godt.

Du kan putte denne tekst ind:

function file_get_contents($filename, $use_include_path = 0) {
$fd = fopen ($filename, "rb", $use_include_path);
$contents = fread($fd, filesize($filename));
fclose($fd);
return $contents;
}

Så har du funktionen file_get_contenst. Den fungerer bedre end
implode/file-metoden, men ikke helt så godt, som når den indbyggede
funktion bliver tilgængelig for dig.


Og det var så endnu et indlæg, hvor jeg kunne nøjes med én linje, men lige
ville forklare lidt mere.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Jens Christian Hille~ (27-09-2002)
Kommentar
Fra : Jens Christian Hille~


Dato : 27-09-02 14:25

> $tekst = file_get_contents($fil);
> $tekst = nl2br($tekst);
> echo $tekst;
*maaaaaaange* tak.. Det var lige, hvad der manglede. Jeg vil tjekke, om den
virker. Det er jeg ret sikker på, eftersom det ikke er min egen lille
server, men et professionelt webhotel :).
Endnu engang. TAK for hjælpen

- Jens Christian Hillerup



Niels Andersen (27-09-2002)
Kommentar
Fra : Niels Andersen


Dato : 27-09-02 07:10

Jens Christian Hillerup wrote in <amvqpe$cqh$1@news.cybercity.dk>:
> $file = fgets($fp,4096);
[...]
> Hvorfor får jeg kun første linje af txtfilen jeg "echo'er"?

Det er fordi den funktion kun henter én linje.

Hvad er det du vil? Hvis det er en fil, du selv redigerer, som du vil have
skrevet ud, så kan du bare gøre sådan her:

include($p.".txt");

Men du skal ikke gøre sådan, hvis andre kan redigere i filen. Hvis der er
php-kode i den, vil det nemlig blive kørt.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Martin Seebach (27-09-2002)
Kommentar
Fra : Martin Seebach


Dato : 27-09-02 07:45


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:JDSk9.34571$Qk5.1486878@news010.worldonline.dk...


> include($p.".txt");
>
> Men du skal ikke gøre sådan, hvis andre kan redigere i filen. Hvis der er
> php-kode i den, vil det nemlig blive kørt.

... i hvilket tilfælde readfile() "comes in handy" :) ..

Den opfører sig på mange måder som include (bare ikke -- det er en funktion,
hvor include er en construct), men uden at køre phpkoden.

Brug include hvor du kan -- det er hurtigere.


--
Venlig hilsen
Martin Seebach
- min email adresse virker..



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

Månedens bedste
Årets bedste
Sidste års bedste