![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
Наверное, не совсем по теме - но все же...
функция, которая проверяет есть ли картинка на диске у пользователя и не отличается ли она от той, которая на сервере. если совпадает - соответственно путь в теге img ставит локальный иначе - путь к картинке на сервере. собственно, проблема в сравнением без загрузки - ради чего все и делается. Я думаю, сравнить по размеру файл будет достаточно... так вот вопрос: как сравнить размер файла на сервере и локального? заранее спасибо Это сообщение отредактировал(а) Bog d`An - 3.9.2007, 04:55 --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
chup007 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 12.3.2006 Где: РФ ЖИГУЛЕВСК 63 Р ЕГИОН Репутация: нет Всего: нет |
ты не можешь узнать на сервере, есть ли у клиента какой ли файл
|
|||
|
||||
Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
вот и предложите как можно реализовать.......
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: нет Всего: 36 |
Спросить у пользователя: слюшай пользователь, есть ли у тебя картинка.
|
|||
|
||||
Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
![]() --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: нет Всего: 36 |
Чего вы сделать то хотите?
|
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Задача не просто, без JS никак
|
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: нет Всего: 146 |
JS тут тоже не поможет. Это *невозможно* реализовать на JS, т.к. в целях безопасности JS не имеет доступа к диску у клиента. Можно сделать на Java, Flash или при помощи плагинов для браузеров со всем вытекающими от сюда проблемами. Это сообщение отредактировал(а) sTa1kEr - 3.9.2007, 12:53 |
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Для таких вещей есть вполне стандартный способ кеширования - передача браузеру заголовков о том, сколько максимально можно держать файл в кэше.
Если под апач установлен mod_headers можно использовать такую команду в htaccess
в любом случае, можно все картинки выдавать через скрипт, которым подставлять нужные заголовки |
|||
|
||||
Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
ewolf, к сожалению тут задача не в использовании кеша браузеров - если я правильно понял вашу идею, а в реализации его же.
Что достигается методом подстановки в теге img параметра src как пути к файлу изображения на диске пользователя. файлы расположены определенным образом, так что названия и внутренние каталоги на сервере и диске пользователя совпадают. Соответственно возможна ситуация когда файл на диске пользователя отсутствует, поврежден или не соответствует файлу на сервере(не был обновлен)... Как решить/замаскировать эту проблему без участия пользователя - вот в чем вопрос. --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
А может просто послать элементарную шапку в рисунку, где будет указывать чтоб кэшировал?
|
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Bog d`An, а для чего требуется такая штука? если просто для снижения нагрузки на сайт, то мой способ вполне подходит. Если, что бы просто показать, что у пользователя такой файл уже есть, то надо либо сохранять на сервере, что пользователь данный файл уже загрузил, либо просто спрашивать у пользователя. Выяснить через JS, есть ли на компьютере пользователя какой-то файл, слава Богу, нельзя.
|
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
ewolf, Зачем делать все так складно. Почему мой вариант вам не нравится. Смотрите:
Клиент -> Серверу : Дай мне информацию про объекта №3, у меня он есть з датой 08,09,2008 17:42 Если есть изменения Сервер ->Клиенту : Ну на тебе Если нет изменений Сервер ->Клиенту : Ты знаешь, а он и не менялся Клиент -> Серверу : Дай мне информацию про объект №4, у меня его нет совсем Если есть изменения Сервер ->Клиенту : Ну на тебе Если нет изменений Сервер ->Клиенту : Ну на тебе |
|||
|
||||
Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
ewolf, предполагается что файлы (порядка 3K штук) юзверь заберет в архиве...
штука требуется для снижения нагрузки и уменьшения трафика... Diesel Draft, клиент... в смысле браузер такое умеет? --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Как складно, какой ваш вариант? Я предложил изначально использовать кэш браузера. Bog d`An, то, что описал Diesel Draft и есть кэш браузера. Еще раз повторю, что проверить наличие на компьютере пользователя файл средставми js нельзя. |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Bog d`An, Нет, программа написана на чем то, браузер не умеет сохранять.
ewolf, Я не хочу использовать кэш браузера!!! |
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Diesel Draft, тогда вашу задачу невозможно реализовать.
|
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
ewolf, Не обязательно писать на javascript
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Если я правильно понял, то как раз браузерный кэш использовать нежелательно, потому что картинки на сервере могут менятся. (?)
1) Узнать чего либо про диск пользователя, если это не находится в кэше браузера нельзя. 2) Но можно извернуться стандартными методами используя кэш браузера. Каждый раз запрашивая картинку браузер передаёт заголовки, полученные им когда-то при загрузке этой картинки. Итак: Если Браузер заголовки не передал, то картинка запрашивается в первый раз. Мы формируем заголовки сами. У нас есть возможность посадить дату и/или E-Tag - мд5 картинки. Посадили заголовки, отдали картинку. Если браузер заголовки передал, сравниваем дату и/или мд5 с данными картинки на сервере. Если всё совпадает, отдаём заголовок "Not Modified" иначе отдаём картинку. Таким образом у клиента всегда свежая картинка, а структуру картинок на клиенте создавать не надо. Архив с картинками весит столько же, сколько сами картинки, поэтому вместо того чтобы его грузить, лучше просто картинки загрузить в невидимый div. Это HTTP - Protokoll уже лет 15 как умеет. Для подобного и создавался ![]() |
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Но мы не ищем легких путей.
|
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
ты не правильно понял
|
|||
|
||||
sergejzr |
|
||||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
В кэше браузера файлы логически лежат точно так же, как на сервере
С этим как раз с помощью HTTP-Protocol прекрасно бороться |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Графика | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |