Avatar billede rohr Nybegynder
28. april 2002 - 17:33 Der er 9 kommentarer

Kode virker kun privat :-(

Her er en stump af en kode jeg har lavet, den virker fint på min egen localserver men når jeg ligger den ud på friserverplads virker den ikke mere :-( hvad er der galt????

$fp = fopen("database/tw.txt", 'a+');  // Åbner database
$linie = 0;
while ($nyheder = fgets("$fp", "135000")) // Kører en løkke
{
  $split = split("\|", "$nyheder");      // Split ved |

  $linie = $linie+1;
Avatar billede jakoba Nybegynder
28. april 2002 - 17:55 #1
Det burde ikke virke lokalt hos dig. parameteren "a+" placerer filens læsepointer foerenden af filen og du ønsker jo at læse fra begundelsen

$fp = fopen("database/tw.txt", 'r');  // Åbner database

check betydningen af de forskellige modes her:
http://www.php.net/manual/en/function.fopen.php

mvh JakobA
Avatar billede rohr Nybegynder
28. april 2002 - 17:59 #2
Nej læsepointernen skal placeres der...
Avatar billede jakoba Nybegynder
28. april 2002 - 18:06 #3
Så får du ikke meget ud af at sige fgets("$fp", "135000") bageftefter for der er ingenting tilbage at gette.

Det der står indeni din while vil aldrig få nogen linier behandle.
Avatar billede rohr Nybegynder
28. april 2002 - 18:08 #4
Ok jeg er lidt nybegynder med PHP men vil d virke hvis jeg ændrer d.. Til et andet antal istedet for 135000
Avatar billede jakoba Nybegynder
28. april 2002 - 18:13 #5
tallet der er et maksimul. 
fgets henter bogstaver indtil første linieskift eller det antal bogstaver, så hvis alle dine linier er mindre end 80 tegn lange kan du skrive 80 der istedetfor uden at det ændrer noget.
Avatar billede jakoba Nybegynder
28. april 2002 - 18:14 #6
Ups.  maksimul -> maksimum
Avatar billede rohr Nybegynder
28. april 2002 - 18:17 #7
Ok tak for hjælpen er der andre fejl du lige kan se
Avatar billede jakoba Nybegynder
28. april 2002 - 18:26 #8
Jeg ville ikke skrive "-tegn om parametrene til fgets. det er ikke dødeligt da php selv konverterer efter behov, blot spild at gøre $fp til en streng for at php så bagefter skal gøre den tilbage til det filepointertal der skal bruges.

det nederste af din while sætning mangler men det ved du nok i forvejen.

mvh JakobA
Avatar billede jakoba Nybegynder
28. april 2002 - 18:38 #9
Jo forresten her er et eksempel fra siden
http://www.php.net/manual/en/function.fgets.php
på hvordan man bør læse en fil. Din metodet med at læse til der ankommer en tom streng virker nok også, men det er sikrere at teste med funktionen feof( $fp )

$fd = fopen ("/tmp/inputfile.txt", "r");
while (!feof ($fd)) {
    $buffer = fgets($fd, 4096);
    echo $buffer;
}
fclose ($fd);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester