|
как закешировать массив на сервере для авзова в другом потоку
|
|||
---|---|---|---|
#18+
вывожу картинки (много), но не хочу давать прямой доступ, для этого вывожу примерно такой элемент Код: html 1.
после загрузки у меня запускается на сервере указанный файл (немного упрощенно, убрал всякие проверки) Код: php 1. 2. 3. 4.
Все работает, но мне нужно что-бы постоянная часть пути выбиралась от значения параметра "storage". И заодно мне нужно организовать проверку авторизации пользователя. Физически эта связь (постоянный путь и ID хранилища) хранится в MySQL, но файл sp_pict.php вызывается во первых без нужного контекста, во вторых много раз (галерея), мне нужно при формировании страницы как-то заполнить и передать массив соответствий хранилище-путь в контекст файла sp_pict.php. Передача через get, post не рассматриваю так как это будет дырища. Надо как-то именно на сервере. какие я вижу варианты 1. брать непосредственно из базы данных, но я работаю вне основного контекста и у меня недоступен объект для работы с базой данных global $wpdb; а делать отдельное соединение на каждый вызов это совсем плохо. 2. сохранять файл на сервере, тут мне не очень понятно как это сделать с учетом того, что одновременно могут работать несколько пользователей подскажите как правильно? Конечно самое простое генерировать файл на сервере -------------------------------------------------------- Хороший программист должен уметь не только пользоваться инструментами, но и уметь обходиться БЕЗ НИХ! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 10:00 |
|
как закешировать массив на сервере для авзова в другом потоку
|
|||
---|---|---|---|
#18+
vde69 мне нужно при формировании страницы как-то заполнить и передать массив соответствий хранилище-путь в контекст файла sp_pict.php. Признак авторизации, вероятно, тоже в сессии хранится. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 10:50 |
|
как закешировать массив на сервере для авзова в другом потоку
|
|||
---|---|---|---|
#18+
у меня сейчас $_SESSION - null на сколько я помню сессия имеет очень ограниченный срок жизни на сервере я правильно понимаю, что надо использовать session_start(); но я это не могу сделать в отдельно взятой странице (так как заголовки формируются сильно раньше и будет ошибка), значит делать глобально? ps sp_pict.php - вызывается много раз, на одну страницу он может вызываться более 100 раз, и не понятно как по времени, если например я буду использовать динамическую подгрузку, сесия стартанувшая при начале сборке странице не протухнет? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:22 |
|
как закешировать массив на сервере для авзова в другом потоку
|
|||
---|---|---|---|
#18+
vde69 на сколько я помню сессия имеет очень ограниченный срок жизни на сервере vde69 я правильно понимаю, что надо использовать session_start(); vde69 значит делать глобально? vde69 может вызываться более 100 раз, и не понятно как по времени vde69 если например я буду использовать динамическую подгрузку, сесия стартанувшая при начале сборке странице не протухнет? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 12:03 |
|
как закешировать массив на сервере для авзова в другом потоку
|
|||
---|---|---|---|
#18+
vkle, спасибо, подумаю. пока сделал через инициализацию окружения вордпресс, посмотрю какая будет нагрузка, конечно не оптимально, но там свои плюсы есть Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 12:16 |
|
|
start [/forum/topic.php?fid=23&fpage=9&tid=1459678]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
others: | 268ms |
total: | 380ms |
0 / 0 |