/ 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
Åbne del af fil og lave link til hele file~
Fra : Dennis Munding


Dato : 28-07-06 17:52

Hej NG!

Så er jeg her igen...

Jeg skal lave en side, hvor der bliver bragt et nyhedsbrev - ingen problem
der.
Men jeg skal samtidig gøre det muligt for brugeren at læse ældre nyheder -
her kunne jeg nøjes med at vælge at lave et link til en ny side med de gamle
nyheder, men jeg kunne godt tænke mig at gøre det lidt smartere...

Jeg synes at kunne huske, at man kan åbne en fil og så læse lidt af
indholdet - som en appetit-vækker - og så lave et link til hele filen, som
brugeren kan klikke på, hvis han/hun vil læse mere...?

Jeg har forsøgt mig med fopen():

<?php
echo "Marts 2006:<br />";
$handle = fopen("Arkiv/kornyt0306.txt", "r");
while (!feof($handle)) {
$buffer = fgets($handle, 128);
echo $buffer;
}
fclose($handle);
?>

Men det åbner bare hele filen og udskriver den - hvad har jeg gjort galt
(for der er ingen tvivl om, at det er en §40-fejl!)...?

På forhånd tak for svar!


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/, http://cantica.dk/, http://munding-webdesign.dk/,
http://skovaa-munding.dk/, http://mundings-memorial.dk/,
http://eds-denmark.dk/



 
 
Jacob Atzen (28-07-2006)
Kommentar
Fra : Jacob Atzen


Dato : 28-07-06 18:01

On 2006-07-28, Dennis Munding <mail@invalid.dk> wrote:
> Jeg synes at kunne huske, at man kan åbne en fil og så læse lidt af
> indholdet - som en appetit-vækker - og så lave et link til hele filen, som
> brugeren kan klikke på, hvis han/hun vil læse mere...?
>
> Jeg har forsøgt mig med fopen():
>
><?php
> echo "Marts 2006:<br />";
> $handle = fopen("Arkiv/kornyt0306.txt", "r");

Denne linie:

> while (!feof($handle)) {

Løber hele filen igennem, du siger jo "så længe jeg ikke er nået til end
of file, så...". Fjern while løkken og du skal se underværker

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (28-07-2006)
Kommentar
Fra : Dennis Munding


Dato : 28-07-06 18:13

Hej Jacob!
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrneckgmr.1vqu.jacob@tank.aub.dk...
> On 2006-07-28, Dennis Munding <mail@invalid.dk> wrote:
>> Jeg synes at kunne huske, at man kan åbne en fil og så læse lidt af
>> indholdet - som en appetit-vækker - og så lave et link til hele filen,
>> som
>> brugeren kan klikke på, hvis han/hun vil læse mere...?
>>
>> Jeg har forsøgt mig med fopen():
>>
>><?php
>> echo "Marts 2006:<br />";
>> $handle = fopen("Arkiv/kornyt0306.txt", "r");
>
> Denne linie:
>
>> while (!feof($handle)) {
>
> Løber hele filen igennem, du siger jo "så længe jeg ikke er nået til end
> of file, så...". Fjern while løkken og du skal se underværker

Det vil jeg da lige prøve....
Kopierede bare koden fra net-manualen... :-/
(har jo ikke så møj forstand å'et...)

Vender tilbage - mange tak for dit svar!


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/, http://cantica.dk/, http://munding-webdesign.dk/,
http://skovaa-munding.dk/, http://mundings-memorial.dk/,
http://eds-denmark.dk/



Dennis Munding (28-07-2006)
Kommentar
Fra : Dennis Munding


Dato : 28-07-06 18:25

Hej igen Jacob!
"Dennis Munding" <mail@invalid.dk> skrev i en meddelelse
news:HAryg.73$qd4.64@news.get2net.dk...
> Hej Jacob!
>> Denne linie:
>>
>>> while (!feof($handle)) {
>>
>> Løber hele filen igennem, du siger jo "så længe jeg ikke er nået til end
>> of file, så...". Fjern while løkken og du skal se underværker
>
> Det vil jeg da lige prøve....
> Kopierede bare koden fra net-manualen... :-/
> (har jo ikke så møj forstand å'et...)
>
> Vender tilbage - mange tak for dit svar!

Argh! Fatter aller en ski!

Har nu prøvet:

<?php
echo "Marts 2006:<br />";
$handle = fopen("Arkiv/kornyt0306.txt", "r");
$buffer = fgets($handle, 128);
echo $buffer;
fclose($handle);
?>

Udskriver kun: Marts 2006+linieskift...

og:

<?php
echo "Marts 2006:<br />";
$handle = fopen("Arkiv/kornyt0306.txt", "r");
echo $handle;
fclose($handle);
?>

Udskriver: Resource id #11

Åbenlyst en forkert måde at fjerne while-løkken på, men hvordan skal det så
gøres - jeg forstår ikke ret meget af, hvad der står i manualen, da mit
engelske ikke er så godt, når det kommer til tekniske udtryk...


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/, http://cantica.dk/, http://munding-webdesign.dk/,
http://skovaa-munding.dk/, http://mundings-memorial.dk/,
http://eds-denmark.dk/



Jacob Atzen (28-07-2006)
Kommentar
Fra : Jacob Atzen


Dato : 28-07-06 18:30

On 2006-07-28, Dennis Munding <mail@invalid.dk> wrote:
> Har nu prøvet:
>
><?php
> echo "Marts 2006:<br />";
> $handle = fopen("Arkiv/kornyt0306.txt", "r");
> $buffer = fgets($handle, 128);
> echo $buffer;
> fclose($handle);
> ?>
>
> Udskriver kun: Marts 2006+linieskift...

Det forstår jeg ikke. Bemærk, at fgets() kun læser op til næste
linieskift. Hvis du vil have mere med skal den kaldes flere gange.
Du bliver nok nødt til at definere nærmere, hvordan formatet på din fil
er og hvilke dele du gerne vil have ud af den. Hvis du bare vil udskrive
de første 300 tegn kan det gøres med:

$string = file_get_contents("filename.txt");
print substr($string, 0, 300);

--
Med venlig hilsen
- Jacob Atzen

Dennis Munding (28-07-2006)
Kommentar
Fra : Dennis Munding


Dato : 28-07-06 19:53

Hej Jacob!
"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrneckidk.1vqu.jacob@tank.aub.dk...
> Det forstår jeg ikke. Bemærk, at fgets() kun læser op til næste
> linieskift. Hvis du vil have mere med skal den kaldes flere gange.

Kan jeg godt forstå - den første linie var blank... Doh! Min fejl....
Men det med at kalde fgets() flere gange bliver jo hurtigt uoverskueligt...

> Du bliver nok nødt til at definere nærmere, hvordan formatet på din fil
> er og hvilke dele du gerne vil have ud af den. Hvis du bare vil udskrive
> de første 300 tegn kan det gøres med:
>
> $string = file_get_contents("filename.txt");
> print substr($string, 0, 300);

Se det var jo meget smartere!
Formatet er .txt, så det var ikke der, at der var noget galt...

Nu kommer 1000$-spørgsmålet så:
Hvordan laver jeg et link til hele filen, så den bliver læst ind på samme
side, som det lille udsnit står på - eller evt. en anden side, som så
fungerer som skabelon for alle ældre nyheder (hvis du forstår, hvad jeg
mener...?)?


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/, http://cantica.dk/, http://munding-webdesign.dk/,
http://skovaa-munding.dk/, http://mundings-memorial.dk/,
http://eds-denmark.dk/



Martin (30-07-2006)
Kommentar
Fra : Martin


Dato : 30-07-06 15:18

Dennis Munding wrote:
> Hej Jacob!
> "Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
> news:slrneckidk.1vqu.jacob@tank.aub.dk...
>> Det forstår jeg ikke. Bemærk, at fgets() kun læser op til næste
>> linieskift. Hvis du vil have mere med skal den kaldes flere gange.
>
> Kan jeg godt forstå - den første linie var blank... Doh! Min fejl....
> Men det med at kalde fgets() flere gange bliver jo hurtigt uoverskueligt...
>
>> Du bliver nok nødt til at definere nærmere, hvordan formatet på din fil
>> er og hvilke dele du gerne vil have ud af den. Hvis du bare vil udskrive
>> de første 300 tegn kan det gøres med:
>>
>> $string = file_get_contents("filename.txt");
>> print substr($string, 0, 300);
>
> Se det var jo meget smartere!
> Formatet er .txt, så det var ikke der, at der var noget galt...
>
> Nu kommer 1000$-spørgsmålet så:
> Hvordan laver jeg et link til hele filen, så den bliver læst ind på samme
> side, som det lille udsnit står på - eller evt. en anden side, som så
> fungerer som skabelon for alle ældre nyheder (hvis du forstår, hvad jeg
> mener...?)?
>
>
> Med venlig hilsen


<?php


$text = file_get_content($file);
if(!$_GET["read"]) {
echo substr($text, 0, 300)." <a href='?read=1'>Læs mere</a>";
} else {
echo $text;
}

Dennis Munding (30-07-2006)
Kommentar
Fra : Dennis Munding


Dato : 30-07-06 21:34

Hej Martin!
"Martin" <news@natten-i.dk> skrev i en meddelelse
news:44ccbf9e$0$15791$14726298@news.sunsite.dk...
> Dennis Munding wrote:
>> Nu kommer 1000$-spørgsmålet så:
>> Hvordan laver jeg et link til hele filen, så den bliver læst ind på samme
>> side, som det lille udsnit står på - eller evt. en anden side, som så
>> fungerer som skabelon for alle ældre nyheder (hvis du forstår, hvad jeg
>> mener...?)?
>>

> <?php
> $text = file_get_content($file);
> if(!$_GET["read"]) {
> echo substr($text, 0, 300)." <a href='?read=1'>Læs mere</a>";
> } else {
> echo $text;
> }

Mange tak for svaret, men jeg kan desværre ikke få det til at fungere
ordenligt, uden at skulle ændre for meget på sidens udseende, så jeg "nøjes"
med at åbne en ny fil...:
http://cantica.dk/Kornyt/

Men mange tak for kodestumpen - den har lært mig en lille ny ting!
Det ender jo med, at jeg snart kan kalde mig lettere øvet PHP-koder istedet
for PHP-newbie...


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/, http://cantica.dk/, http://munding-webdesign.dk/,
http://skovaa-munding.dk/, http://mundings-memorial.dk/,
http://eds-denmark.dk/



Martin (31-07-2006)
Kommentar
Fra : Martin


Dato : 31-07-06 01:12

Dennis Munding wrote:
> Hej Martin!
> "Martin" <news@natten-i.dk> skrev i en meddelelse
> news:44ccbf9e$0$15791$14726298@news.sunsite.dk...
>> Dennis Munding wrote:
>>> Nu kommer 1000$-spørgsmålet så:
>>> Hvordan laver jeg et link til hele filen, så den bliver læst ind på samme
>>> side, som det lille udsnit står på - eller evt. en anden side, som så
>>> fungerer som skabelon for alle ældre nyheder (hvis du forstår, hvad jeg
>>> mener...?)?
>>>
>
>> <?php
>> $text = file_get_content($file);
>> if(!$_GET["read"]) {
>> echo substr($text, 0, 300)." <a href='?read=1'>Læs mere</a>";
>> } else {
>> echo $text;
>> }
>
> Mange tak for svaret, men jeg kan desværre ikke få det til at fungere
> ordenligt, uden at skulle ændre for meget på sidens udseende, så jeg "nøjes"
> med at åbne en ny fil...:
> http://cantica.dk/Kornyt/

Du er her: Forsiden > Kornyt > > Arkiv > Kornyt - marts 2006

Kunne være du skulle lave en side med et arkiv på :)

>
> Men mange tak for kodestumpen - den har lært mig en lille ny ting!
> Det ender jo med, at jeg snart kan kalde mig lettere øvet PHP-koder istedet
> for PHP-newbie...
>
>
> Med venlig hilsen

Dennis Munding (31-07-2006)
Kommentar
Fra : Dennis Munding


Dato : 31-07-06 10:03

Hej Martin!
"Martin" <news@natten-i.dk> skrev i en meddelelse
news:44cd4a8c$0$15789$14726298@news.sunsite.dk...
> Du er her: Forsiden > Kornyt > > Arkiv > Kornyt - marts 2006
>
> Kunne være du skulle lave en side med et arkiv på :)

Øøøhhh...? Enten misforstår jeg din besked, eller også misforstår du
navigations-baren (hvilket ikke er godt, da der så kan være flere, som også
misforstår den...).

Ovenstående link skulle gerne vise, at man befinder sig i mappen "Arkiv" og
ser siden "Kornyt - marts 2006"....
(Det er p.t. den eneste side, som befinder sig i arkivet...)


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/, http://cantica.dk/, http://munding-webdesign.dk/,
http://skovaa-munding.dk/, http://mundings-memorial.dk/,
http://eds-denmark.dk/



Søg
Reklame
Statistik
Spørgsmål : 177516
Tips : 31968
Nyheder : 719565
Indlæg : 6408629
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste