Wordpress / PHP - Изменить имя файла при загрузке в кэш-память
Как и сейчас, я использую строки запросов для очистки кэша браузера при обновлении CSS и JS. Однако, как отмечалось во многих местах, не все браузеры всегда учитывают / проверяют наличие новых строк запроса. Например, я испытал это с Internet Explorer 11, который не загружал новый файл js, хотя была доступна новая версия с новой строкой запроса (и загружена в chrome).
Поэтому я хотел бы изменить фактическое имя файла файлов, чтобы полностью избежать этой проблемы.
Я хотел бы изменить структуру имени файла, например, my-custom.js
в my-custom-1231141.js
откуда выбираются цифры filemtime
,
Я пытался использовать PHP rename()
функция объединена с WordPress wp_register_script
, но это не сработало, и что-то говорит мне, что это неправильное использование rename()
,
Возможно ли это - и будет ли это иметь смысл в отношении использования сервера?
По сути, я бы хотел, чтобы это произошло так:
- HTTP-запросы посетителей
- получать
my-custom.js
- Переименовать / рерайт
my-custom.js
вmy-custom-1231141.js
на основании файлаfilemtime
сохраняя содержимое - обслуживать
my-custom-1231141.js
посетителю
1 ответ
Вы можете использовать версию ревизии в имени файла без переименования файла
<script type="text/javascript" src="app.js?<?php echo $some_string;?>"></script>
если вы не хотите использовать кэшированную версию
<script type="text/javascript" src="app.js?<?php echo mt_rand(1, 9999);?>"></script>