質問: WordPressにてサイト構築中です。 各CSSやJSの末尾に?var=2017010105912のようなかたちで更新日のパラメータを付与したく、filemtime()を利用しようと思いました。 ``` // functions.php // ファイルの更新日時を取得 function echo_filedate($file) { if (file_exists($_SERVER['DOCUMENT_ROOT'].$file)) { echo '?ver='. date('YmdHis', filemtime($_SERVER['DOCUMENT_ROOT'].$file)); } else { echo '?ver=false'; } }; ``` ``` // footer.phpなどのテーマファイル ``` すると、日付らしきパラメータは出るんですが、該当ファイルをいくら更新しても同じ日付のパラメータになってしまい、変更されません。 おそらく最初にサーバにアップした日付か何かになっていて更新日が反映しません。 この使い方は、間違っているのでしょうか? さらに、file_exists()で存在確認にfalseが帰ってきてしまうファイルもなぜかあります。確かに存在しているのにその辺も意味不明なのですがこれも分かる方いますか?
回答: 果たして、`$_SERVER['DOCUMENT_ROOT'].$file`で正しいファイルパスとなっているのでしょうか。 状況によっては`$_SERVER'DOCUMENT_ROOT']`に正確なパスが入らないこともあるようですし([参考)、最後にスラッシュがついていない状況で連結すればおかしくなります。