Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Сессии и куки Сессии или куки
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
Здравствуйте!
У меня вот какой вопрос.
Загружается, файл. Фото.
Ысё хорошо. Но вот одно ни как не понимаю и не получается. Файл загружается и удаляется. Я хотел бы что бы это фото человек видел всё время пока он на сайте, гуляет по нему, по страницам. То есть наверное с помощью сессии или куки. Файл загрузился, появился, удалился. Но пока человек находится тут он видит своё фото.
Не подскажите как это сделать.
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
Если человек загрузил фотку, то она попадает на сервер. А уже на сайте она подгружается с сервера. Как она может удалиться без твоего ведома??? Может она просто не показывается? Ту как вариант проверить права на картинку и папку куда она записалась
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
В том и заключается вся игра. Человек загрузил. Мы перекинули её в свою папку. Но человеков может быть много. Поэтому хотелось бы. Загруженное фото в сессию или в куку. Человек видит это фото, но его уже нет. И с другими также. Иначе получается много сколько фото в папке. Как то так. Задумывалось. Но ни как не могу понять принцип кук и сессий. Поэтому может такое просто не возможно.
skiphog
Отправлено: 31 Января, 2015 - 17:40:05
Частый гость
Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014 Откуда: Киров, Россия
Помог: 11 раз(а)
При загрузке изображения, сохраните картинку в sessionStorage в формате base64.
Пока юзер не закрыл вкладку сайта, картинка будет храниться там.
--
(Добавление)
Там не сложно. Простенькую реализацию могу написать, но завтра (сейчас пора бежать, к сожалению).
Если никто не предложит более лучшее/рациональное решение, то завтра напишу, как сделать.
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
Большое Вам спасибо. Порою, надеюсь нарою и пойму. Если не отпишусь. Значит ничего нет, буду очень благодарен если поможете. Отправляюсь РЫТЬ!
skiphog
Отправлено: 31 Января, 2015 - 22:32:52
Частый гость
Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014 Откуда: Киров, Россия
Помог: 11 раз(а)
Учтите, что картинку сможет видеть только юзер, который ее загрузил. Больше никто.
На мой взгляд, самое простое решение - это использовать FileReader() и SessionStorage ?НО!
FileReader поддерживают все современные браузеры и IE10+.
SessionStorage - так же все и IE8+
Можно копирнуть пример и поиграться. После загрузки картинки, пока открыта вкладка сайта,картинка всегда будет отображаться
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
Огромное Вам спасибо. Вчера рыл. Нашёл функцию кодирующую в ПХП в base64_encode(). Также нарыл что только ЯВА скриптом. Но соединить не хватило ума(надеюсь только пока).
«Учтите, что картинку сможет видеть только юзер, который ее загрузил. Больше никто.»
Мне как раз этот прибамбас и нужен, что каждый видит только своё и пока он тут.
Всё посмотрю, разберу. Надеюсь смогу реализовать.
Большое Вам спасибо.
DelphinPRO
Отправлено: 01 Февраля, 2015 - 12:11:45
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Загружаем фотку в специально выделенную папку для загрузок. Например /upload
Для фотки генерим случайное имя ($name = uniqid()), это имя сохраняем в сессию ($_SESSION['pic'] = $name). Соответственно при выводе фотки на экран используем эту сессионную переменную.
Однако, при таком раскладе картинки будут накапливаться на сервере, что нам не нужно, по условию задачи.
Вешаем на крон скриптик, который будет проверять папку с картинками и удалять все файлы, время модификации которых превышает "X" (например 24 часа).
Простенько и надежно.
----- Чем больше узнаю, тем больше я не знаю.
ytrewq123
Отправлено: 01 Февраля, 2015 - 21:41:39
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
…Блиин ну спасибо Вам skiphog. Был занят. Сейчас всё попробовал, это просто кокой-то супер. Без замарочек, без груза мозга пользователя. Всё работает как по волшебству. Действительно классно. Спасибо Вам большое. Единственное хотел бы спросит. Как можно взглянуть где это фото хранится, пока его видит человек?
Спасибо!!!
Насчёт крона, да что-то слышал, но не знаю его. И вроде его может не быть, на хостинге. И что-то слышал, нужны какие-то специальные права. Но не знаю, может я ошибаюсь.
Спасибо за совет.
skiphog
Отправлено: 01 Февраля, 2015 - 22:12:34
Частый гость
Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014 Откуда: Киров, Россия
Помог: 11 раз(а)
ytrewq123 пишет:
Как можно взглянуть где это фото хранится, пока его видит человек?
Картинка хранится в локальном хранилище браузера.
--
В хроме вызываете инструмент для разработчиков F12 -> вкладка Resourses -> SessionStorage
Там хранится ключ и значение(сама картинка)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.