れいぶろぐゲームをプレイしたり、作ったりしてる人、LABEのブログ『れいぶろぐ』。創作のこと、PCのこと、その他趣味のことを広く浅く。(4)WordPressでブログとかを書くとき、画像をアップロードすることってあるよね。WordPressでファイルをアップロードするとき、ファイル名はPCに保存されてる通りになり、変えられないのだ!変なファイル名にしてると、公開情報だから、恥ずかしいんだぞ。いうことで、アップロード時に自動で、ランダムな文字列のファイル名を付けてくれたらうれしいんだけど......というのを今回はやってみる。終わりにプラグインを使うランダムな文字列といえばハッシュ値。いうことでプラグインを探してみると、「MD5」というハッシュ関数を使ってファイルをリネームするプラグインを発見。PluginsMD5とは、簡単に言うとあらゆるデータを128ビット(32桁の16進数)の暗号に変換するハッシュ関数であり、データの無改竄性を証明するなどに使われているが、ここでは単にランダムかつユニークなファイル名を生成するのに使う。Wikipediaということで、さっそくこのプラグインを......と思ったが、実はこのプラグインは古く、最新バージョンのWordPressでは動作しないようだ。テーマ関数でやってみるこのプラグインは諦めるとして、調べても他にいい感じの方法が見つからなかったので、このプラグインのソースを見てみる。いうフックにフィルターしているのを発見。プラグインの中身を見て弄るのには慣れてなかったんだけど、俺でも意外とわかったなぁと。いうことで、プラグインのファイルの該当部分をテーマ関数(functions.php)にコピペ。ついでに俺が独自に調整したのが以下のソースだ。現在のUNIX時刻と元のファイル名からMD5ハッシュ値を生成(赤字の部分)して新たなファイル名にする。UNIX時刻と元のファイル名の両方を使う理由は、MD5関数は同じデータに対していつも同じハッシュ値を返すからだ(ハッシュ関数だから当然だが)。UNIX時刻だけだと同時にアップロードした別のファイルと同じになるし、元のファイル名だけだと同名ファイルと同じになってしまうわけだ。フックしているが、このような書き方はテーマ関数でよく使うので覚えておこう。終わりにファイル名をリネームできるプラグインもあるが、ファイル名なんていちいち付けたくないって人におすすめの今回の方法。プラグインも使わないし、たった8行で実現できるとは。ファイル名は32文字と長くなるが、ランダム感が好きな人はぜひお試しを。(2016/08/03)こめんとコメントはまだありません。こめんとする本文のみ必須。メールアドレスは公開されないよ。お名前メアド名前とメアドを記憶する数式の空欄を正しく埋めてね。※本文には日本語を“数文字”以上含めてね。(詳細)コメントを投稿すると、メールアドレスを含む投稿内容と、投稿者を識別するIPアドレスなどが当サイトのサーバーに送信され、保持される。これらの情報は当サイトのサービスの提供やコンテンツの改善のために利用される。あなたは、当サイトによるこれらの情報の取り扱い(取得・処理・利用)に同意しなければ、コメントを投稿することはできない。この同意の要件は法的な要件として追加されたもので、当サイトによるこれらの情報の取り扱いは従来から変わっていない。当サイトの個人情報の取り扱いについて詳しくは、プライバシー・ポリシーを読んでね。(929)※過去30日間の閲覧数データによる。