2014年11月01日

Wordpressで記事投稿時にアイキャッチ画像を設定する方法

アイキャッチ画像とは「目に留まる画像」で、記事一覧や記事詳細の一番目立つところによく配置される画像です。サムネイルとも言われるこのアイキャッチ画像を記事投稿時に設定する方法をご紹介します。続きを読む
posted by Liang Zhaohong at 20:01 | Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2014年08月14日

PHPで都道府県のプルダウンを設置するための配列

申し込みフォーム等で必ずといって良いほど設置する、都道府県を選択するためのプルダウンメニュー。コピペで使いまわせるものはライブラリとして置いておいた方が作業効率が上がりますね。ということで、コピペ用の覚え書きです。

続きを読む
posted by Liang Zhaohong at 10:02 | Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2014年07月25日

for文で月日を二桁で揃えて出力する方法

日付や月といった数字をプルダウンで選んで欲しい時にoptionをずらっと記述するのは面倒なので、for文で出力する事が多いのですが、「1月1日」を「01月01日」とする必要がある場面に遭遇。要するに二桁で揃えたい、というケースですね。

そんな時に使えるfor文の書き方です。続きを読む
posted by Liang Zhaohong at 17:01 | Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2013年10月14日

「htmlentities」の注意点

PHPでプログラムを作成する際、気をつけなければいけないポイントとして「エスケープ処理」があげられます。エスケープ処理を怠るとXSS(クロスサイトスクリプティング)やSQLインジェクションなどの原因となり、のっとりやなりすましに繋がってしまいます。

まずはシンプルなエスケープ処理。

echo htmlentities("エスケープ処理する文字列");


これだけで済ましている場合もあるかと思いますが、「htmlentities」はこのままではシングルクォートを変換ません。そのため、第二引数でシングルクォートも含めて変換させるようにします。

echo htmlentities("エスケープ処理する文字列", ENT_QUOTES, mb_internal_encoding());


第三引数は文字コードの指定で、「mb_internal_encoding()」はphpinfo()で確認できる「mb_internal_encoding」の値です。うまくいかない場合はUTF-8など、文字コードを直接指定しましょう。指定できる文字コードは下記ページに記載されているもののみです。

http://php.net/manual/ja/function.htmlentities.php

「htmlentities」を使用する際はシングルクォートのエスケープに注意しましょう。
posted by Liang Zhaohong at 12:03 | Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2013年07月21日

PHPで外部サーバーに置かれている画像ファイルを保存する方法

外部サーバーに置かれている画像ファイルをサイト上に表示させる場合、通常はパスをhttp://から書いて表示させますが、読込先のサーバー環境に依存する事もあり、画像を一旦こちらのサーバーに保存して、読み込みを行いたい時があります。
そんな処理もPHPなら、下記二行だけの簡単な記述で実現が可能です。

※php.ini で allow_url_fopen=On になっている事が条件です

// 画像ファイルを取得
$image_path = file_get_contents("http://URL/Filename", FILE_BINARY);
// 画像ファイルを指定場所に保存
file_put_contents("/PATH/FILENAME", $image_path);

file_get_contents についてはhttpからファイル名までを記述し、file_put_contents についてはルートからのパスを記述します。また画像を保存するディレクトリのパーミッションも書き込み可にしておく必要があります。
これだけで画像を保存する事ができる、便利な関数でした。
posted by Liang Zhaohong at 10:21 | Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。