Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zapis do pliku
Forum PHP.pl > Forum > Przedszkole
grzegorzko90
Witam. Chciałem napisać skrypt php, który będzie zapisywał do pliku adres ip oraz datę osoby, która odwiedzi stronę.
  1. <?php
  2. $data = date('H:i , jS F');
  3. $ip = $_SERVER["REMOTE_ADDR"];
  4. $ciag = $data . " " . $ip . "<br>";
  5. $zapis = @fopen("log.txt" , 'ab', true);
  6. fwrite($zapis, $ciag, strlen($ciag));
  7. fclose($zapis);
  8. ?>

Według mnie powyższy kod jest poprawny ale jak skrypt nie chce działać. Gdzie może być błąd questionmark.gif
Majzel
mi skrypt działa poprawnie, o co chodzi ? wyskakuje pusta strona bo nie masz potwierdzenia zrób tak:
  1. <?php
  2. $data = date('H:i , jS F');
  3. $ip = $_SERVER["REMOTE_ADDR"];
  4. $ciag = $data . " " . $ip . "<br>";
  5. $zapis = @fopen("log.txt" , 'ab', true);
  6. if(fwrite($zapis, $ciag, strlen($ciag))) {
  7.    echo 'zapisano';
  8.    }
  9. fclose($zapis);
  10. ?>
lwc
Sprawdziłem ten skrypt u mnie na localhoscie i działa tak jak trzeba. Nie ma żadnego problemu. Być może to Ty coś źle robisz ? Jeżeli testujesz to na jakimś hostingu sprawdź chmody dla pliku, może to jest przyczyna.
grzegorzko90
Witam. Mam zainstalowanego krasnala i jak wchodzę na stronę (localhost) z skryptem to wyskakuje:
Warning: fwrite(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\grzes\zapis_do_pliku\index.php on line 8

Warning: fclose(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\grzes\zapis_do_pliku\index.php on line 9
dadexix
usun @ przed fopen i powiedz co pisze
grzegorzko90
po usunięciu:

Warning: fopen(log.txt): failed to open stream: No such file or directory in c:\usr\krasnal\www\grzes\zapis_do_pliku\index.php on line 7

Warning: fwrite(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\grzes\zapis_do_pliku\index.php on line 8

Warning: fclose(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\grzes\zapis_do_pliku\index.php on line 9
Ociu
Czytaj błędy.
Nie ma pliku log.txt.
grzegorzko90
No niestety muszę Cię zdziwić bo plik stworzyłem własnoręcznie. Na pewno nie ma błędu w nazwie.
A pozatym
  1. <?php
  2. $zapis = @fopen("log.txt" , 'ab', true);
  3. ?>

Tam jest "a". Według moich informacji (które mogą być błędne) "a" - Otwarcie pliku do dodania zawartości od ostatniej linii. Jeśli pliku nie ma zostanie on utworzony.
skowron-line
http://pl.php.net/manual/pl/function.file-exists.php
http://pl.php.net/manual/pl/function.is-writable.php

  1. <?php
  2. $file = 'log.txt';
  3. if( file_exists( $file )){
  4. if( is_writable( $file )){
  5. /// zapis
  6. }//else
  7. }//else
  8. ?>
grzemach
jak masz stworzony plik to daj mu jeszcze prawo do zapisu. Jeśli masz krasnala wnioskuję że jest to windows, XP raczej nie ma zbytnio rozwiniętego zabezpieczenia plików, wnioskuję że to Vista. Przenieś program (zainstaluj od nowa) w lokalizacji poza 'program files', np bezpośrednio na C
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.