[PHP] 先頭が数字の変数やプロパティにアクセスする方法
通常、変数やプロパティの名前には、数字を先頭にすることはできません。(特殊な記述方法をすれば可能です)ですが、データベース等のライブラリを利用した場合、カラム名などが変数やプロパティ名としてアクセスさせることも少なくありません。そのような変数やプロパティを参照しようとしても、そのままの記述方法だとエラーが発生してしまいます。
【当ブログではアフィリエイト広告を利用しています】
通常、変数やプロパティの名前には、数字を先頭にすることはできません。(特殊な記述方法をすれば可能です)ですが、データベース等のライブラリを利用した場合、カラム名などが変数やプロパティ名としてアクセスさせることも少なくありません。そのような変数やプロパティを参照しようとしても、そのままの記述方法だとエラーが発生してしまいます。
Smartyを使ったシステムでテンプレートに「Google Analytics」のトラッキングコードをそのまま記載してしまうと、Smartyのタグ記述とバッティングを起こして、真っ白なページになってしまいます。グーグルで指示されているコード[sourcecode language="javascript"]<script type="text/javascript">
なぜ今更ヒアドキュメントかというと、そもそもヒアドキュメントという言葉を知らない人は検索しようが無いよな・・・とふと思い、載せてみました。「ヒアドキュメント」という言葉を知らない人がどう検索するかを考えると、「改行」「そのまま」「変数」「複数行」「直接記述」とかでしょうか。[sourcecode language=”css”]$message = "1行目です。
利用者に文字を入力させる場合にXSS(クロスサイトスクリプティング)対策でエスケープ処理をします。PHPでは、よくこの2つの関数「htmlspecialchars」「htmlentities」が使われますが、内容を理解しないまま使用すると思わぬ失敗をします。どちらの関数も「HTML エンティティに変換する」という意味では同じです。違いは変換する種類が異なります。
Webサイト上で、金額や費用を記載する場面は少なくないと思います。PHPでは¥マークや3桁カンマを自動で変換する関数が用意されています。WordPressなどでも、PHPコードを記述できるプラグイン(Exec-PHP)を利用していれば記述できますよ。表示させたい内容で、色々関数も用意されています。
最新版のphpMyAdminの動作する条件がPHP5.2以上となっているが、SPLモジュールが有効じゃないと動かなかったというお話しです。サクッとセットアップして、ログインしてみたら以下のエラー。[sourcecode language=”php”]Fatal error: Class ‘ArrayObject’ not found in List.class.php on line 14.
Qdmailライブラリを使ってメール送信を行っていると、下記のように本文にヘッダー情報が入りこんでしまう現象に遭遇しました。[sourcecode language=”text”]Content-Type: text/plain; charset="iso-2022-jp"Content-Transfer-Encoding: 7bit
「Qdmail」を使って添付ファイル付きのメールを送信するプログラムです。通常の「easyText()」に第5引数を追加して、添付するファイルの物理パスと添付ファイル名を配列に入れてセットします。[sourcecode language=”php”]$mail = new Qdmail();
PHP 5.3.0 からE_DEPRECATED エラーレベルが加わりました。E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを表すエラーレベルです。これによって、ライブラリなどで古い記述をされている場合はエラーとなってしまいます。例えばこんなコードです。
知らないから書いていないのと、あえて書いていないのは違う。この差ってわかりにくいですよねってお話しです。例えば「mysql_close()」を説明を見てみると、[sourcecode language=”text”]
よく必要になるけど、自分で書かないよね・・・・グローバルIPアドレス:[sourcecode language=”php”]$ip = getenv("REMOTE_ADDR");
ずいぶんご無沙汰しておりました。「php_uname」はPHP が稼動しているオペレーティング システムに関する説明を返します。何が使えるのかというと、よく皆さんは$_SERVERを使って取得していると思うのですが、$_SERVERは稼働しているWEBサーバから情報を取得しているんです。つまり、WEBサーバを経由しない起動時には情報は取得できないんです。
「CodeIgniter」で動いていたシステムを別な環境に移した際にハマるポイントです。 PHPのバージョンが違う(PHP5じゃないと動かないようなソースコード) Rewriteモジュールがインストールされていない 「.htaccess」の「RewriteBase」のパスを変更し忘れる