2013-08-18 2 views
0

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

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

Проблема, с которой я столкнулся, не будет проблемой для меня, но это будет для моего клиента, который не очень яркий (я могу сказать, что она член семьи). Как только свойство настроено, и все различные изображения загружены, есть возможность редактировать любую из этих данных, а также удалять любые существующие изображения. Если вы удаляете изображение, все работает хорошо, но кеширование браузера заставляет его выглядеть так, как будто ничего не произошло. Хит F5 (в Firefox), чтобы обновить страницу, и все выглядит так, как должно.

Проблема связана с тем, как я выбрал имя загружаемых фотографий. Фотографии переименовываются с использованием информации об адресе свойства с добавленным количеством изображений. Например: 3505Cardinalpic1.jpg, 3505Cardinalpic2.jpg, 3505Cardinalpic3.jpg и т. Д. Если бы я должен был удалить первый, например, следующие изображения будут переименованы, чтобы сохранить порядок именования неповрежденным. Они, например, приедут 3505Cardinalpic1.jpg и 3505Cardinalpic2.jpg. Обе сохранившиеся снимки - это 2-й и 3-й снимки из ранее существовавшей последовательности 3.

Когда страница перезагружается после удаления одного изображения, она загружает изображения из кеша, потому что имя файла не изменилось, только исходный файл сам.

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

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

Я попытался это не повезло:
test php disabled caching

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

Заранее благодарим за любые советы.

+0

Почему вы переписываете существующие имена файлов? Принуждение браузера всегда перезагружать каждое изображение (без кеша) просто не является хорошей практикой.Лучший случай заключается в том, что браузер не кэшируется, а восприятие производительности приложения будет не очень хорошим. – RobM

+0

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

+0

. Я считаю, что вы можете отключить кэширование на своем компьютере клиентов для конкретного сайта. –

ответ

0

Чтобы заставить браузер не кэшировать файл, связывайте его с изменяющимся параметром. Если вы сделаете это:

<img src="3505Cardinalpic2.jpg?001"/>

и только после того, что

<img src="3505Cardinalpic2.jpg?002"/>

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

Но это нехорошо отключить кеширование, так что, может быть, вы можете изменить значение только тогда, когда в вашем альбоме есть изменения?

+0

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

+0

Это работает. Благодарим за быстрый и внекорневой ответ. – user2206082