Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Временно заблокировать доступ к файлу картинки
 
 автор: gumplen   (17.02.2010 в 13:22)   письмо автору
 
 

Здравствуйте.
У меня есть папка с картинками, и их очень много. Эти картинки отображаются пользователю на веб странице.
Вопрос следующий: возможно ли во время просмотра пользователем картинки, блокировать ее, чтобы другой пользователь не мог ее видеть?

  Ответить  
 
 автор: sim5   (17.02.2010 в 13:48)   письмо автору
 
   для: gumplen   (17.02.2010 в 13:22)
 

То есть, если кто-то к вам зашел на сайт, то повесить табличку "Занято"? А от куда вы будете знать, что пользователь все еще смотрит картинку вашу? И даже, если средствами Ajax, к примеру, будете знать, то вдруг он ею любоваться будет 2 часа или более, тогда что? У вас что ограниченное число пользователей или они к вам по расписанию заходят? Зачем вообще такое странное ограничение?

  Ответить  
 
 автор: gumplen   (17.02.2010 в 13:51)   письмо автору
 
   для: sim5   (17.02.2010 в 13:48)
 

Нет, табличку "занято" показывать не нужно :). Нужно показывать другую картинку.
А число пользователей действительно ограниченное.

  Ответить  
 
 автор: sim5   (17.02.2010 в 14:10)   письмо автору
 
   для: gumplen   (17.02.2010 в 13:51)
 

Храните тогда историю запрошенных изображений, и по ней отдавайте следующее по списку изображение.

  Ответить  
 
 автор: Слух   (17.02.2010 в 14:08)   письмо автору
 
   для: gumplen   (17.02.2010 в 13:22)
 

Вы бы сказали для чего конкретно хотите это использовать, было бы понятней как вам помочь.
Я например не могу придумать сайт где могла бы использоваться именно описанная вами схема показа изображений.

  Ответить  
 
 автор: gumplen   (17.02.2010 в 14:20)   письмо автору
 
   для: Слух   (17.02.2010 в 14:08)
 

Ок.
Я заливаю через фтп сотню картинок, человек заходит на страницу, видит 5 из них. Дает им названия и кликает ок. После этого данные о названых картинках записываются в БД, а человеку показываются следующие 5.
Все отлично работает, но если зайдет еще один человек и начнет давать названия, будет путаница, так как им будут показываться одинаковые картинки.

  Ответить  
 
 автор: Слух   (17.02.2010 в 14:29)   письмо автору
 
   для: gumplen   (17.02.2010 в 14:20)
 

После объяснения задача становится тривиальной.
Вам нужно просто запомнить последние отображенные картинки человеку. Либо это будет текстовый файл, либо база, либо вы их просто переместите во временную папку. Вариантов масса.
И потом при обращении другого человека просто исключить файлы которые уже находятся в "обработке" из списка.

  Ответить  
 
 автор: gumplen   (17.02.2010 в 14:46)   письмо автору
 
   для: Слух   (17.02.2010 в 14:29)
 

Да, я, наверное, изначально думал в неправильном направлении. Спасибо.
Осталось только разобраться, как понять, что человек покинул страницу. Но это, наверное, только аяксом?

  Ответить  
 
 автор: Слух   (17.02.2010 в 15:01)   письмо автору
 
   для: gumplen   (17.02.2010 в 14:46)
 

В смысле человек "покинул страницу"?
То есть ваши редакторы могут зайти на страницу с картинками просто посмотреть, а не дать название?

Опять же как вариант, раз в n-адцать минут, проверять файлы(сохраненные в другой папке, в базе, в текстовом файле). Если такие есть переместить их в папку "необработанных"\поменять флаг в базе\удалить из текстового файла.

  Ответить  
 
 автор: gumplen   (17.02.2010 в 15:07)   письмо автору
 
   для: Слух   (17.02.2010 в 15:01)
 

Человеческий фактор :). Пытаюсь учесть.

  Ответить  
 
 автор: Слух   (17.02.2010 в 15:10)   письмо автору
 
   для: gumplen   (17.02.2010 в 15:07)
 

Я бы делал так
Залили все картинки по фтп. Скрипт на кроне с какой-то периодичностью проверяет на наличие новых файлов во временной папке(туда мы заливаем по фтп), и сразу добавляет их в базу, ставя атрибут например "UPLOADET" и перемещает в папку со обработанными картинками. Дальше при обращении редактора к странице показываем ему самые старые картинки со статусом "UPLOADET", ставя при этом всем им статус "IN_EDIT", и записывая текущую дату в поле edit_time. После добавления названия ставим статус "OK" и добавляем название.
И еще один скрипт на кроне будет ставить статус "UPLOADET", всем картинкам у которых статус "IN_EDIT" и после времени edit_time прошло какое-то время(час, день, неделя).

  Ответить  
 
 автор: Trianon   (17.02.2010 в 14:31)   письмо автору
 
   для: gumplen   (17.02.2010 в 14:20)
 

Так тут, простите, конфликт не между просматривающими пользователями.
А между корректирующими.
Добавляйте ссылки на скрипт изменения названий.
Если один человек прошел по ссылке - другому ставьте отказ.

  Ответить  
 
 автор: sim5   (17.02.2010 в 14:33)   письмо автору
 
   для: gumplen   (17.02.2010 в 14:20)
 

У вас конкурс на лучшее название? НУ и на здоровье тогда, пусть называют - одновременно все равно записи в базу не произойдет. А такая ли беда, что второй соискатель не видит первого и для обоих картинка пока не именована?

  Ответить  
 
 автор: psychomc   (17.02.2010 в 15:18)   письмо автору
 
   для: gumplen   (17.02.2010 в 14:20)
 

а если оставить возможность для каждого пользователя использовать своё название картинки? или такой вариант не подходит?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования