[PHP]Zapisywanie IP po wejsciu na strone

H4jt

Użytkownik
Dołączył
Maj 18, 2010
Posty
19
Mam problem w moim małym skrypcie "wysyłania IP" czyli ktoś wchodzi na stronę ,i jego IP zapisuje się w pliku .txt i wysyła na serwer.

Mam kod pliku index.php i log_ip.php

Plik index.php
Kod:
<?php
require_once("log_ip.inc.php");
log_ip("adresy_ip.txt");
?>

Plik log_ip.php
Kod:
<?php
function log_ip($filename) {
file_put_contents($filename, "{$_SERVER['REMOTE_ADDR']}\n", FILE_APPEND );
}
?>

I tak nie wiem co źle zrobiłem wysłałem 2 pliki na serwer wchodzę na stronę i żadnego tekstowego pliku z IP nie ma. Nie wiem czemu proszę o pomoc...
 

nowy_me

Użytkownik
Dołączył
Luty 7, 2007
Posty
451
sprawdziłem Twój kod i u mnie działa(lokalnie i zdalnie), prawdopodobnie na twoim serwerze PHP nie ma prawa do zapisu, zmień ustawienia chmod
 

RobertG

Użytkownik
Dołączył
Styczeń 3, 2007
Posty
391
Czy PHPowe funkcje do obsługi plików nie mają jakiś sposobów, by sygnalizować, przechwytywać takie błędy (wyjątki, zwracana wartość, etc)?

Jeśli mają, to prócz poprawienia usterki przez ustawienie uprawnień, czy stworzenie pliku, to warto by dodać obsługę takich sytuacji z poziomu skryptu by uchronić się na przyszłość.
 

nowy_me

Użytkownik
Dołączył
Luty 7, 2007
Posty
451
The function returns the number of bytes that were written to the file, or FALSE on failure.
więc można to dość łatwo sprawdzić czy zapis się powiódł, niestety albo stety PHP powinno też wyświetlić ostrzeżenie:
Warning: file_put_contents(adresy_ip.txt) [function.file-put-contents]: failed to open stream: Permission denied
i wiele osób na tym polega dopóki nie trafią na serwer z wyłączonymi ostrzeżeniami
 

H4jt

Użytkownik
Dołączył
Maj 18, 2010
Posty
19
Dziękuje :* ,sprawdziłem chmod-y i nie przesylało nic ;/ ale wrzuciłem na inny serwer i git :)
 
Do góry Bottom