「相対パス」はわかるんだけど、「絶対パス」って、
http://www.example.com/path/to/file.ext

のように、プロトコルから始まる完全なヤツと、
/path/to/file.ext

のように、スラッシュから始まる省略されたヤツがある。
この2つの絶対パスの呼び方が知りたかった。という話です。。

「絶対パス」「相対パス」「ルートパス」ってなに? - Qiita

という訳で、先程の二者は、前者が「絶対パス」、後者が「ルートパス」(または「ルート相対パス」)と呼ばれるらしい。

じゃ、英語では何ていうのかなー、と思って調べてみたところ…
Absolute File Paths VS. Relative File Paths VS. Root Relative Paths - WebDevBydoing
「Absolute Protocol Paths」というのもあるらしい。。
そういえばあったなー。これを使えば、絶対パスでありながら、プロトコルの指定を省略できる。
httpかhttpsか、を気にせずに指定できる、ってヤツ。


という訳で、URLを表す際に用いられるパスには、4つのパスがある。
「絶対パス」「相対パス」「ルートパス」「プロトコルパス」
ということでいいのかな。


全く関係ないんだけど、
「ハヤシもあるぜよ」
だとずーっと思っていた。
よく考えたら、
「ハヤシはにゃーぜよ」
だと、名古屋弁と土佐弁がごっちゃになってるごたるずら(・_・;)
本当は、↓だったらしい。
ハヤシもあるでよぉ: ピッコリさんと7にんの五人ばやし
ログを取るため、データベースにオブジェクトをserializeして格納した。

テスト用のプログラムでデータベースから取り出したものを読み込んで、unserializeした。

おー、ちゃんと復元できとるやん!
ん?待てよ。なんか中途半端に復元してないか?
元のプログラムで、serializeしたものをその場でunserializeして表示してみたら、ちゃんと復元できる。

※ここから間違い
あー、データベースに格納する時、テキスト型で格納したからうまくいかなかったのか!
※あとから思えば、もしそうだったらunserializeがエラーになるはずやろ。。。

よーし、blob型にしてもう一度挑戦だ!

やっぱりダメだ(T_T)

復元したものを改めてよく見ると、なんか「__PHP_Incomplete_Class」なるクラスのインスタンスとして復元されとるやん。

それググれ!
うーん、なんか、unserializeの前にインクルードしましょう、的なヤツしかヒットせぇへん。
わしが欲しいんは、データベースに格納したら壊れるゆう話なんや!
※狂っとる(-_-;)

数十分格闘後、
あれ?そういえばクラス定義されてなくない?
そら復元できるわけあらへんやろがな…orz

その後、composer関連でのミスもあってすんなりいかなかったが、結局、、、
ググって出てきた『unserializeの前にインクルードしましょう、的なヤツ』が正解でしたやん。。。

PEBCAKは続くよどこまでも………………
(鬱の呼吸壱の型三点リーダー六連!)
2013年6月に本ブログに記事「EclipseでHTMLを読み込んだら、設定に関係なく「Shift_JIS」になってしまう件について」を投稿してから9年。
おそらくそれ以前から課題となっていたはずなので10年以上であろう…。
そんな積年の課題が解決できるかもしれない。
(かもしれない、と、慎重になってしまうくらい、悩まされ続けてきたのだ)

上述の記事で解決したはずなんだけど、ちょっとトリッキーだし、新しいバージョン入れたらやり方わからなくなったし、なんだかスッキリとはできていなかったのだった…。

その解決策が、↓このプラグインである。
GitHub - cypher256/eclipse-encoding-plugin: Show file encoding and line ending for the active editor in the eclipse status bar. Encoding can be changed by right click. Line ending support showing CRLF, CR, LF and Mixed.

おお、まさにコレ。
エンコードが表示されている箇所を右クリックして、
「Autodetect: Set Automatically」にチェックを入れると、自動判別した文字エンコーディングを適用してくれる。
初期設定では自動判別はするけど、それとは違う文字エンコーディングで開くと警告を表示するだけ、という、なんとも控えめな、奥ゆかしいところもグゥーッド!
その他にも設定できそうだけど、もうコレだけで私にとっては「神プラグイン」である。
ありがとう、cypher256さん。
ん?この人、pleiadesの開発者やんΣ(゚Д゚;)!
以下の認証を行いますか?※身に覚えのない場合は、
キャンセルしてください。

(中略)

はい いいえ



この「はい」「いいえ」は、もちろん「認証を行いますか?」に対する回答なんだけど、
上記のように改行がちょうど「キャンセルしてください」の目の前にあるので、

「キャンセルしてください」に対して「はい」「いいえ」の回答が求められている ※違います!
と思ってしまいそう…
『そうか、キャンセルしたほうがいいんですね、では、「はい」!』※違います!
という感じで。

クドいけれど、「はい」「いいえ」の直前にもう一度「認証を行いますか?」と表示しておけば間違いは起こらないでしょう。

↓こっちのほうがいいか。
はい (認証を行う) いいえ

これならハッキリしますわ。

こういう重要なメッセージは、明確にしなければなりませんね。というお話でした。
phpのglob関数の落とし穴 : 備忘録」より
パス名に [ が入っていると正常に動作しません。
ソースは http://php.net/manual/ja/function.glob.php#86425


上記々事よりわかること。
・エスケープしたい文字を角括弧([])で囲む
・角括弧自信をエスケープしたい場合も同様
・なので…角括弧開く([)をエスケープしたければ '[[]' と書く
・ちなみに、角括弧開くをエスケープすれば閉じるのほうはエスケープ不要

例を示すと、「角括弧で囲まれた日付(yymmdd形式)を持つファイルの検索」したい場合、
$filenames = glob('*[[][0-9][0-9][0-9][0-9][0-9][0-9]]*');

こんな感じ。