Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zmienna na stałe w pamięci
Forum PHP.pl > Forum > Przedszkole
sebusiek
Witam.

Mam pytanie czy jest możliwość, jakaś funkcja która pozostawiałaby zmienną w pamięci serwera po wykonaniu skryptu??
sowiq
Są dwie, ale sprowadzają się do jednego:
- pliki
- baza danych

A tak na serio to jak sobie to wyobrażasz? 1000 osób wykonuje skrypt i w pamięci zostaje 1000 zmiennych? Jak długo tam zostają? Jak je odczytujesz i skąd wiesz która jest ta 'Twoja'? Po pierwsze byłoby to niewydajne pamięciowo, po drugie potencjalnie niebezpieczne.
Do takich celów służą pliki. Możesz do nich zapisywać bardziej rozbudowane obiekty niż tylko zwykłe zmienne. Zainteresuj się serialize() oraz unserialize()
sebusiek
Chodzi mi o to żeby admin uruchomił swój skrypt jednorazowo, a inni użytkownicy korzystali ze zmiennej. Zrobiłem tak jak mówisz (baza danych) wczoraj ale częstość z jaką zmienna była aktualizowana oraz czytana przez użytkownika powodowała że ruchome elementy strony podpinane w zależności od zmiennej nie były płynne. CHciałbym ustanowić jakiś stan tak jak w zwykłej aplikacji.
sowiq
Jeżeli to zwykła zmienna, to może warto zapisywać ją do pliku? Odczytywanie z pliku jest szybsze niż połączenie do bazy danych i wykonanie zapytania.

Nie za bardzo rozumiem tylko co znaczy
Cytat
że ruchome elementy strony podpinane w zależności od zmiennej nie były płynne
Bo wcześniej napisałeś, że
Cytat
admin uruchomił swój skrypt jednorazowo, a inni użytkownicy korzystali ze zmiennej
a potem piszesz
Cytat
ale częstość z jaką zmienna była aktualizowana oraz czytana [...] powodowała

Może po prostu napisz do czego to potrzebujesz? Bo CHciałbym ustanowić jakiś stan tak jak w zwykłej aplikacji to trochę nie w tym kierunku. Aplikacja oparta na WWW i PHP nigdy nie będzie miała swojego stanu, bo za każdym wywołaniem uruchamiasz ją na nowo i zaraz po tym kończy ona swoje działanie. Więc jeśli dobrze rozumiem - potrzebujesz jedynie jednego/kilku if'ów.
sebusiek
Zmienna np tablicowa ma pamietać współrzędne obrazków na ekranie. Każdy obrazek jest identyfikowany z użytkownikiem który przy pomocy myszki ma zmieniać jego położenie, aktualizowane w tej zmiennej. Każdy użytkownik powinien mieć możliwość podglądu współrzędnych innego obrazka
sowiq
To ja Ci bez zastanowienia odpowiadam: baza danych.

Tworzysz sobie jakąś tabelkę współrzędne a w niej pola: ID_użytkownika, x, y i masz po problemie. Nie obchodzi Cię, czy użytkowników jest 20, czy 20 tys. Każdy użytkownik będzie miał przypisane swoje ID, więc będzie miał również swoje współrzędne. Do tego jeśli inni mają mieć możliwość oglądania tych współrzędnych, to wystarczy podać ID użytkownika, żeby wydobyć odpowiednie dane z bazy.

Takie rozwiązanie powinno Ci się nasunąć automatycznie, bo to najrozsądniejszy sposób.
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.