Avatar billede thb Nybegynder
14. december 2004 - 12:07 Der er 7 kommentarer og
2 løsninger

Ændringer af txt fil

Hej alle,

Jeg vil godt lave et log fil system på min hjemmeside, men har ikke rigtig arbejdet med txt filer før.

Havde tænkt mig en txt fil for hver måned i en mappe på serveren.

Hver gang der så sker noget, bruger logger ind, artikel bliver oprettet osv.. så bliver en php funktion kørt som indsætter en linie i txt filen for den rette måned, og så i admin delen kan man så læse filen..

Håber at I forstår.

Thomas
Avatar billede iss Novice
14. december 2004 - 12:23 #1
Sådan en her:
function writetolog ($content, &$error) {
    $filename = "/logdir/weblog-".date('Y-d').'.log';
    $content = "Add this to the file\n";
   
    if (is_writable($filename)) {
        if (!$handle = fopen($filename, 'a')) {
            $error = "Cannot open file ($filename)";
            exit;
        }
        if (fwrite($handle, $somecontent) === FALSE) {
            $error = "Cannot write to file ($filename)";
            exit;
        }
        fclose($handle);
    } else {
        $error = "The file $filename is not writable";
    }
}
?
Avatar billede thb Nybegynder
14. december 2004 - 12:45 #2
Jeg kigger på det senere...
Men det ser meget godt ude :)

Thomas
Avatar billede iss Novice
14. december 2004 - 12:52 #3
Ups... der er midst en lille fejl....

"if (fwrite($handle, $somecontent) === FALSE) {"

skal være

"if (fwrite($handle, $content) === FALSE) {"
Avatar billede iss Novice
14. december 2004 - 12:52 #4
Og

"$content = "Add this to the file\n";"

Skal slettets.
Avatar billede iss Novice
14. december 2004 - 13:13 #5
Opdateret og testet:
function writetolog($content) {
    $dir = 'logs/';
    $filename = $dir.'weblog-'.date('Y-d').'.log';
    if (is_writable($dir)) {
        if (!$handle = fopen($filename, 'a')) {
            return "Cannot open file ($filename)";
            exit;
        }
        if (fwrite($handle, $content."\r\n") === FALSE) {
            return "Cannot write to file ($filename)";
            exit;
        }
        fclose($handle);
    }
    else {
        return "The dir $dir is not writable";
    }
}
Avatar billede doomstone-dk- Nybegynder
15. december 2004 - 15:22 #6
Her er 2 funktioner
function write_file($file,$name,$new="0"){
   
   
    IF(file_exists($name)){   
    if($new=="0"){
    $fild_old = "";
    $fil = fopen($name, "r");
    while (!feof($fil)){
    $streng = fgets($fil, "4096");
    $fild_old .= $streng;
    }
   
    $file = $fild_old.$file;
    }
    }else{
   
    touch($name);
       
       
    }
   
        $fil = fopen($name, "w");
        fwrite($fil, $file);
        fclose($fil);
}

function read_file($name){
    IF(file_exists($name)){
        $fild_old = "";
        $fil = fopen($name, "r");
        while (!feof($fil)){
            $streng = fgets($fil, "4096");
            $fild_old .= $streng;
        }
        fclose($fil);
    }
    return $fild_old;
}

$name = link til filen
$file = den tekst der skal skrives i filen!
$new = hvis 1 så sletter den indholdet, hvis 0 så tilføjer den bare!
Avatar billede thb Nybegynder
15. december 2004 - 15:30 #7
Jeg vil gemme den her side, for lige nu har jeg ikke lige tid til at lave det.. hehe

Smider ud ikke et svar iss...

Thomas
Avatar billede iss Novice
15. december 2004 - 15:40 #8
 
Avatar billede thb Nybegynder
15. december 2004 - 15:46 #9
Tak for hjælpen begge to... :D

Thomas
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