![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Есть маленькая программка на php с базой данной, которая каждый день меняет картинки.
Все нормально, только иногда с первого раза картинка не прорисовывается! Люди говорят кэш мешает. Есть шанс это исправить? Заранее спасибо! ![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
если html с картинкой выводится пхп скриптом, то добавлть к имени файла случайный параметр.
|
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
А можете привести пример?
Если скрипт .../test.php и он находится в файле правой колонке ..../right.php к какому имени добавить параметр и как он может выглядеть? Спасибо ![]() |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Artiomka, а какой скрипт отвечает за вывод картинки?
-------------------- Amazing ![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
||||
|
||||
fesor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 16.7.2009 Где: Минск Репутация: 4 Всего: 4 |
Добавление рандомного значения хорошо только для загрузки файлов.
может поможет... хотя неуверен что для картинок это сойдет. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
fesor, а картинка - это не файл? А что?
И куда писать твой код? В картинку? |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Картинки 1.png 2.png 3.png и так далее - штук 200. Они меняются строго по номеру каждый день.
А прорисовываются иногда только после F5. Это менять надо имя каждый картинки??? А скрипт такой: Спасибо ![]()
Модератор: используй кнопку КОД для оформления Это сообщение отредактировал(а) MoLeX - 29.7.2009, 08:43 |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
В этом коде не надо ничего менять. Писать надо в коде показа. в теге img
Это сообщение отредактировал(а) Ипатьев - 29.7.2009, 08:47 |
|||
|
||||
MoLeX |
|
||||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Artiomka, допустим твой скрипт называется images.php, соответственно он вызывается вот так
а теперь переделываем в следующее
-------------------- Amazing ![]() |
||||
|
|||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
В этом коде можно вписать заголовки, управляющие кэшированием.
Но код очень забавный. Только сейчас разглядел. |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
В коде показа ...
Я так понимаю в коде <img src=".../test.php"/> А не подскажете, что именно здесь менять. Вроде все нормально (для новичка конечно!) Спасибо ![]() Добавлено через 3 минуты и 27 секунд "заголовки, управляющие кэшированием." ![]() |
|||
|
||||
MoLeX |
|
||||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
до вывода инфы в браузер
Добавлено @ 09:14 да, сделай так
и каждый день к адресу картинки будет добавляться мусор Это сообщение отредактировал(а) MoLeX - 29.7.2009, 09:14 -------------------- Amazing ![]() |
||||
|
|||||
icewind |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 11.4.2009 Где: Ростов-на-Дону Репутация: 20 Всего: 20 |
В том случае если используются динамические шаблоны Это сообщение отредактировал(а) icewind - 29.7.2009, 09:17 -------------------- ![]() |
||||
|
|||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Переделал выводящий файл по вашему совету. Теперь он выглядит так:
<img src=".../test.php?<?=date('Y-m-d');?>" width="180" /> Эксплорер - 100% работает! Опера - 100% работает! Firefox - через раз .. хмм А код ниже вставить в самый верх файла test.php?
Спасибо ![]() |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
нет. в самый верх файла в котором содержаться эти строки -------------------- Amazing ![]() |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
А этот фрагмент кода в какие-то кавычки брать надо? типа <> </> , а то у меня все содержание этого кода (после вставки в самый верх файла right.php) появилось на главной странице! ![]() |
|||
|
||||
lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
это код php соответственно
<?php ?> |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
В файле right.php этот код будет абсолютно бесполезен.
В каких кавычках его не пиши. Это сообщение отредактировал(а) Ипатьев - 29.7.2009, 16:28 |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
"В файле right.php этот код будет абсолютно бесполезен.
В каких кавычках его не пиши." Так и есть ... в right.php толка немного ... right.php, left.php, header.php, footer.php, index.php, main.php - все что есть. Так есть ли выход или махнуть на firefox и пусть прорисовывается хотя бы через раз там? Спасибо ![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Один из вариантов я написал. С заголовками. Можно пользоваться им. Можно пользоваться вариантом с дописыванием параметра. Он тоже рабочий. Результаты с файрфоксом вызывают у меня сомнения. Как за 5 минут удалось протестировать механизм, рассчитанный на сутки - загадка. Добавлено через 1 минуту и 13 секунд Сам приведенный здесь код показа картинок - ужасен. Сайт от перегрузки спасает только кэширование картинок браузерами. |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Протестировал просто. Закрыл, открыл, запустил. Или это некорректно? ![]() Проверю завтра после обновления странички. А куда писать заголовки header ... - в какой из .php? Спасибо ![]() Ну ... задача было непростая, поэтому и код, наверное, такой "хитрый". (Знакомый писал) |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Задача примитивная, а код ужасный. Картинка меняется раз в сутки, а генерируется при каждом обращении. Небось еще и не одна.
Вместо того, чтобы просто выдать содержимое картинки в браузер, сначала зачем-то создается ее представление в формате GD. Ужас. Куда писать заголовки, я писал. |
|||
|
||||
Artiomka |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
если заголовки
добавить в test.php, то код вообще перестает работать! right.php сказали смысла нет ... хмм ![]() ![]() Спасибо ![]() |
||||
|
|||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Если перестает работать - значит, как-то не так вставлено.
Вставляется, я надеюсь, после <?, как уже писали выше? |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Вставлено в самом верху кода test.php следующим образом:
После чего картинка вообще перестает появляться - хоть обновляй, хоть нет! ![]() ![]() |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
в index.php надо вставлять
-------------------- Amazing ![]() |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
вставил в index.php
Получилось так:
Но тогда пишет: Warning: Header may not contain more than a single header, new line detected. in /home/www/.../index.php on line 3 Warning: Header may not contain more than a single header, new line detected. in /home/www/.../index.php on line 4 Все еще в процессе поиска ... ![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
1. Если прочитать, хотя бы со словарем, текст ошибки, то станет понятно, что исправлять.
2. Поэтому-то и в коде показа картинок не работало. 3. Нет смысла показывать картику "Хочу пример", если ты не в состоянии скопировать пример и вставить в свой код. 4. Код, показывающий картинки - единственное место, где имеет смысл писать эти заголовки. Если подумать. Нам надо запрещать кэширование картинки, а не файла index.php. 5. Эти заголовки будут запрещать кэширование вообще, а не на сутки, что значительно увеличит бесполезную нагрузку на сервер. 6. В идеале, картинки надо генерировать 1 раз в сутки, по крону. 7. Если знакомый, который писал код, не знает, что такое крон, решение с параметром после имени картинки будет наилучшим. Это сообщение отредактировал(а) Ипатьев - 30.7.2009, 09:19 |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Ипатьев, спасибо за помощь.
Но так показывать свое превосходство в программировании " ... прежде чем трясти картинкой" не совсем красиво. Типа, вы полный идиот, но так уж и быть я вам дам намек где у тебя проблемы парень. Я все понимаю, что это советы бесплатные, но все же. Кстати, не думайте, что я на халяву воспользовался вашим гениальным мозгом. Картинки по-прежнему прогружаются через раз. А код вставить может любой. Все зависит от учителя. ![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Не надо передергивать.
Для того, чтобы скопировать и вставить кусок текста, не нужно быть программистом. Поэтому "превосходство в программировании" тут не при чем. Я не писал "вы полный идиот". Это ваша собственная интерпретация, и она целиком на вашей совести. Я всего лишь имел в виду, что никакой пример не поможет, если его неверно скопировать. И кроме того, чтобы требовать решение своей проблемы, надо хоть немного усилий и со своей стороны прикладывать. Не получилось вставить код? попробуй еще раз. Всё имеет свои пределы, и участники форума не могут зайти на ваш компьютер, и отредактировать там файл. Хоть что-то надо сделать самостоятельно. И не стоит упрекать других, если не получилось выполнить даже такую простую операцию. Не нравится слово "трясти"? я могу взять его обратно и извиниться. Но решение проблемы это не приблизит. Зачем вообще устраивать оффтопик и переходить на личности? Все эти выпады должны стимулировать меня к решению невнятной задачи "картинки показываются через раз"? Куда эффективнее было бы подробное описание проблемы. Добавлено @ 08:54 PS. Возможно, некоторое непонимание происходит оттого, что я изначально рассматриваю пишуших в этот форум, как людей, которые хотят хотя бы минимально разобраться в своей проблеме. Для тех, кому требуется просто готовое решение, тут, как я понял, есть раздел центр помощи. Это сообщение отредактировал(а) Ипатьев - 30.7.2009, 09:18 |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing ![]() |
|||
|
||||
Artiomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Всем спасибо, кто пытался мне помочь с моим вопросом!
Теперь мне просто нужно немножко время, что разобраться с полученной информацией ... Всем удачи! ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |