Когда кто-то посещает мой веб-сайт, я хотел бы убедиться, что в браузере установлена последняя версия моих файлов CSS, JS и т. Д. Идея, с которой я пришел, состоит в том, чтобы добавить дополнительную ссылку на мои ссылки:
Вместо того, чтобы использовать
<script type="text/javascript" src="www.mywebsite.com/my_file.js"><script>
я звоню
<script type="text/javascript" src="www.mywebsite.com/my_file.js?lastUpdate"><script>
И мне удается заменить lastUpdate датой последней модификации файла. Ссылка становится «новой», и браузер обновляет свой кеш, относящийся к файлу. Обратите внимание, что все мои файлы находятся на моем сервере.
Для этого я вызываю функцию php (вкратце)
function getLastUpdate($link){
if(file_exists($link)){
return $link.'?'.filetime($link);
}
return $link;
}
и назовите это:
echo '<script type="text/javascript" src="'.getLastUpdate('www.mywebsite.com/my_file.js').'"><script>';
Все работает. Почти. Функция хранится в ./code/function.php и используется многими файлами во многих разных папках. Моя проблема: я не знаю, что поставить для $ link. Что касается URL-адреса, иногда он работает, иногда нет. Если я укажу абсолютный путь к файлу (мне было бы проще), функция file_exists вернет false. Если я даю относительный путь, иногда это работает, иногда нет. Полагаю из-за того, что я использую переписывание URL, а ссылка меняется?
Что я делаю неправильно ? Как мне решить эту проблему? Спасибо !