自分用のメモです(o’∀’o)ノ
WEBサイト制作してるときの確認作業のときとか、修正作業が終わった後のクライアントさんしかり、閲覧者さんしかり、キャッシュが邪魔して見た目が崩壊してる事が多々あって困ってたのは困ってたんですよねヽ(・x・;)ノ
スマホやタブレットを使ってる方は、PCにあるスーパーリロード(強制再読み込み)も無いので、アプリ設定の履歴ごと消去しないと見れなくなるし…。
その対応策をグーグル先生経由で見つけたので、残しておきます。
CSSを読み込むアドレスに、PHP「date()関数」を追記する
CSSの読込みコードに指定文字を入れることで、ブラウザに新しいファイルとして認識させるやり方(o’∀’o)ノこれでスーパーリロードも使わなくてもCSSの更新が出来るみたいです。
で、指定文字の部分はPHPの「date()関数」をつかって日付を入れることで、更新するたびに新しい文字列になるので自動化出来ます。
<link rel="stylesheet" href="/library/css/import.css?20200509-1804">
こんな感じですね(´・ω・`)赤字のところが「date()関数」を読み込ませた部分です。
理屈はわかりやすいですよねw
では、実際のPHPコードはこちらになります(´・ω・`)つ◎
.cssの後に「?」と下記コードを追加
あーー!わかってると思いますけど!
PHPを使うので、HTMLファイルじゃ動かないですからねヽ(・x・;)ノ
使用する場合は「.phpファイル」に拡張子を変更してくださいな。ほんとHTMLファイルのソースコードをそのまま使え、動的なPHPプログラムも動くので便利ですね。
このコードのデメリット(笑)
はい、このコードはデメリットがあります(;・∀・)
それは、キャッシュが使えなくなること!(笑)
そのままなのですが(笑)最近のSEOの範囲に入ってるのですけど、「WEBサイトの表示速度」が重視されて見直されてますよね。この対策にはキャッシュもひとつの手段なのです。
ただ、CSSファイルぐらいの読込みはそこまで重くないので、スルーしても良いデメリットだと思いますけどね(o’∀’o)
追記:「date()関数」がエラーになる場合
片っ端に別のお客さんとかにもガシガシ設置していたところ、このコード、PHPエラーになることがあるんです(´・ω・`)
エラーになると、CSSファイルが読み込めなくなるので、サイトがぶっ壊れるのですぐわかると思います(笑)HTMLソースコードを見ると、
PHP Warning: date():It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
こんな感じの警告文がでてると思います。
グーグル先生に聞いてみたら、PHP 5.1.0 以降でdate関数を使うと発生するエラーみたいですね。
対策方法として、「php.ini」か「phpファイル」に指定コードを入れると解決します(o’∀’o)ノ
私がエラーに遭遇したのは「さくらインターネット」環境のクライアントさんでしたね。
複数の方で共同で使われてるみたいだったので、「php.ini」設定ファイルを触らないと判断し、date関数が入ってるPHPファイルに一行追加するやり方で対処しました。
ただ長く使うサーバであれば、「php.ini」に追記が良いと思いますよ。