Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pliki znikają
Forum PHP.pl > Forum > Przedszkole
Velius
Witam, mam taki kod:

Kod
<?
$IP = $_SERVER['REMOTE_ADDR'];
    $data = date("d.m.Y");
    if(!file_exists("todays/$data.txt"))
        {
            $handle = fopen("todays/$data.txt","w+");
            fclose($handle);
            chmod("todays/$data.txt",0777);

            $handle = fopen("todays/$data.txt","a+");
            flock($handle,2);
            fwrite($handle,$IP,strlen($IP));
            flock($handle,3);
            fclose($handle);

            $files = glob("todays/*.txt");
            foreach($files as $one)
                {
                    if(strpos($one,$data)===FALSE)
                    unlink($one);
                }
        }
    else
        {
            $table = @file("todays/$data.txt");
            foreach($table as $one)
                {
                    if(strpos($one,$IP)!==FALSE)
                    $is_in = 1;
                }
            if($is_in != 1)
                {
                    $str = chr(13).chr(10).$IP;
                    $handle = fopen("todays/$data.txt","a+");
                    flock($handle,2);
                    fwrite($handle,$str,strlen($str));
                    flock($handle,3);
                    fclose($handle);
                }
        }
    $tab = @file("todays/$data.txt");
    $todays = sizeof($tab);

    echo $todays;
?>




Nie zapisuje mi on plików (aktualnadata.txt) w folderze todays.

Dlaczego widać tylko plik z aktualną datą, a nie ma tych wcześniejszych?

Proszę o pomoc, a najlepiej gdyby mi ktoś poprawił ten kod:) Proszę...
erix
Masz włączone raportowanie błędów?

Cytat
a najlepiej gdyby mi ktoś poprawił ten kod:)

Mam przenieść na giełdę ofert?
Velius
Nigdzie nie przenosić;D

Co do pytania to nie wiem, mam serwer na webd.pl

Ale raportowanie jest chyba włączone bo jak są jakieś błędy to mi wyskakują, typu: zapomniałeś znacznika.
MWL
hmm a chmode??
Velius
Pisze w kodzie, są ustawiane 0777

Cytat
  chmod("todays/$data.txt",0777);


Folder, w którym są zapisywane pliki też ma 777.

Dziwne jest to, że plik z aktualną datą działa jak należy tylko, gdy jest tworzony następny to stary znika.
athei
Wywal
Kod
         foreach($files as $one)
                {
                    if(strpos($one,$data)===FALSE)
                    unlink($one);
                }

, dzięki temu usuwane są pliki z wcześniejszymi datami.
Velius
Dzięki, takich jak ty naprawdę sobie cenię.

Muszę jeszcze troche poczytać o działaniach na plikach.

Zazwyczaj wszystko zapisywałem w bazie danych, ale klient wymaga, no to nie ma bata. Chciał mieć dostęp do statystyk.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.