Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> file_put_contents() - brak błędów, dane nie są zapisywane
PotasK
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 25.04.2012

Ostrzeżenie: (0%)
-----


Natknąłem się dzisiaj na pewien problem, którego nie mogę rozwiązać. Pierwszy raz widzę takie cuda.

Użyłem file_put_contents() do zapisania zaserializowanej tablicy:
  1. file_put_contents(DIR_ROOT . 'cache/libmap.cache', serialize($map));

Nie jest zwracany żaden błąd, pomimo ustawienia error_reporting na E_ALL | E_STRICT w php.ini.
Faktem jest, że ostatnio reinstalowałem serwer apache, php i mysql.
Ponadto, pierwszy parametr jest ścieżką absolutną do pliku.
Drugi parametr nie jest pusty, ponieważ to sprawdzałem.
Funkcja zwraca int > 0 (dokładnie na chwilę obecną 831).
Uprawnienia i katalogu cache, i pliku libmap.cache, ustawiłem na 0777.

Pomimo tego wszystkiego, do pliku nie jest nic zapisywane.

Jeśli ktoś ma jakieś pytania albo potrzebuje dodatkowych informacji, to dajcie znać.

Z góry wielkie dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Witam.

Zabierz się do tego obiektowo.

  1. //Zapis
  2. $cache_file = new SplFileObject ( DIR_ROOT . 'cache/libmap.cache', "a+" );
  3. $cache_file->fwrite ( serialize ( $map ) );
  4. //Odczyt
  5. $cache_file->rewind ();
  6. $data = unserialize ( $cache_file->fgets () );


Nic dodania poza tym co napisane.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 14:06