Avatar billede msc_cph Nybegynder
10. januar 2005 - 15:57 Der er 10 kommentarer og
1 løsning

Rettigheder til at skrive til fil

Jeg har anvendt dette script til at logge mine besøgende:

########## KODE ###########

$ip = getenv("REMOTE_ADDR");
$all = updateCount($ip,"count.txt");  // Husk at bruge \\ istedet for \
$day = updateCount($ip, "count1.txt", true);

function updateCount($ip,$fil,$daily=false) {
  $f = file($fil);
  $antal = count($f);
  $yest = time() - 1800;
  $o = 0;
  $xidag = "f";
  $idag = time();
  $idag2 = date("Y F d, H:i");
  while ($antal > $o) {
    $streg = explode(" ", $f[$o]);
      if ($ip == $streg[0]) {
      $x = "t";
        if ($streg[1] > $yest) {
          $xidag = "t";
        }
      }
    $o++;
  }

  if ($xidag == "f") {
    if( $daily && date("z",filemtime($fil)) < date("z")) {
        $logg = fopen("$fil", "w");
        $antal = 0;
    }
    else {
        $logg = fopen("$fil", "a");
    }

    fputs ($logg, "$ip $idag, $idag2\n");
    fclose ($logg);
    $antal++;
  }

  return $antal;
}

######## KODE ########

som er taget direkte herfra: (thanks)

http://eksperten.dk/spm/489709

Mit spørgsmål går på om der er forskellige rettigheder til at skrive til filer på webhoteller?

Jeg har et domæne hos TDC og et hos B-ONE

Hos B-ONE virker det perfekt - der bliver skrevet til min txt-fil.

Men hos TDC forbliver txt-filen tom ?? Jeg kan fint echo data ud - så scriptet burde fungere.

Hvad kan det skyldes?

Er det helt henne i vejret med dette script?

/msc_cph
Avatar billede burzum Nybegynder
10. januar 2005 - 15:59 #1
CHMOD funktionen burde være det samme. Er det ikke det, du mener?
Avatar billede msc_cph Nybegynder
10. januar 2005 - 18:07 #2
Jeg er ikke helt sikker, men det lyder rigtigt.

Kan du uddybe lidt?
Avatar billede burzum Nybegynder
10. januar 2005 - 19:16 #3
For at give skrivetilladelse til din txt-fil skal den jo CHMOD'es. Det kan du gøre i din FTP-klient (jeg regner med at du har sådan en).

Det plejer at være noget lignende det her ihvertfald:

Højreklik på filen og find indstillingen CHMOD. Indstil så din txt-fil så den får write-muligheder. Prøv i første omgang at CHMOD'e den til 777, så er du sikker på den er helt åben ihvertfald.
Avatar billede burzum Nybegynder
10. januar 2005 - 19:19 #4
Jeg har lige set i det tidligere spørgsmål som du linker til. Der har de da fundet frem til en anden kode end den du har.

----



<?php
$ip = getenv("REMOTE_ADDR");
$all = updateCount($ip,"/tmp/count.txt");  // Husk at bruge \\ istedet for \
$day = updateCount($ip, "/tmp/count1.txt", true);

function updateCount($ip,$fil,$daily=false) {
  $f = file($fil);
  $antal = count($f);
  $yest = time() - 1800;
  $o = 0;
  $xidag = "f";
  $idag = time();
  $idag2 = date("Y F d, H:i");
  while ($antal > $o) {
    $streg = explode(" ", $f[$o]);
      if ($ip == $streg[0]) {
      $x = "t";
        if ($streg[1] > $yest) {
          $xidag = "t";
        }
      }
    $o++;
  }

  if ($xidag == "f") {
    if( $daily && date("z",filemtime($fil)) < date("z")) {
        $logg = fopen("$fil", "w");
        $antal = 0;
    }
    else {
        $logg = fopen("$fil", "a");
    }

    fputs ($logg, "$ip $idag, $idag2\n");

    fclose ($logg);
    $antal++;
  }

  return $antal;
}
?>

<?php echo $ialt ?>
<?php echo $day ?>


----


Jeg har ikke læst hele spørgsmålet igennem, men kan det ikke være derfor?
Avatar billede burzum Nybegynder
10. januar 2005 - 19:19 #5
Undskyld! Det er mig der sover. Det er den samme.
Avatar billede msc_cph Nybegynder
10. januar 2005 - 19:22 #6
Ok, tak.

Jeg kan ikke få lov til at ændre CHMOD til 777 eller 755 (som den er på mit andet webhotel hvor det virker). Den siger "Could not change permissions".
Avatar billede burzum Nybegynder
10. januar 2005 - 19:23 #7
Så ved jeg ikke om det er TDC der ikke tillader det. Hvordan har du kunne få et webhotel hos TDC?
Avatar billede burzum Nybegynder
10. januar 2005 - 19:24 #8
Undskyld, domæne. Det går da helt galt for mig nu.
Avatar billede burzum Nybegynder
10. januar 2005 - 19:25 #9
Desuden burde det egentlig intet have at gøre med selve domænet.

Hvor er den webplads du har henne? Altså den der ikke vil virke.
Avatar billede msc_cph Nybegynder
10. januar 2005 - 19:52 #10
Jeg sidder som webmaster i et firma som har TDC som webhotel - skam ikke noget jeg har valgt :)

Den ligger hos TDC den fil jeg ikke må ændre CHMOD på.

Jeg har prøvet at flytte de -txt filer som skal logge trafikken til en mappe som hedder "logs" - her har jeg fået lov til at ændre CHMOD til 777.

Men jeg får et par fejlmeldinger hver gang jeg prøver at køre siden som skal logges.

Disse får jeg i en fil der hedder ERRORLOGS:

########## FEJLMELDINGER I ERROLOG ##################

Jan 10 19:46:31 [error] PHP Warning:  fopen("../logs/count.txt", "a") - Permission denied in .... "stien til filen"
Jan 10 19:46:31 [error] PHP Warning:  fputs(): supplied argument is not a valid File-Handle resource in .... "stien til filen"
Jan 10 19:46:31 [error] PHP Warning:  fclose(): supplied argument is not a valid File-Handle resource in .... "stien til filen"
Jan 10 19:46:31 [error] PHP Warning:  fopen("../logs/count1.txt", "a") - Permission denied in .... "stien til filen"
Jan 10 19:46:31 [error] PHP Warning:  fputs(): supplied argument is not a valid File-Handle resource in .... "stien til filen"
Jan 10 19:46:31 [error] PHP Warning:  fclose(): supplied argument is not a valid File-Handle resource in .... "stien til filen"

########## FEJLMELDINGER I ERROLOG ##################
Avatar billede msc_cph Nybegynder
10. januar 2005 - 22:47 #11
Lukker og fortsætter i en ny tråd

http://eksperten.dk/spm/579337
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