PHP:サーバーのフルパスを調べる方法

WEBサイトを制作する時にサーバフルパスを調べたい場合があります。
例えば、Basic認証などを設定したい時などサーバのフルパスを記述するので必要になります。

使用するサーバによって、パスは様々です。

phpが使える環境であれば簡単にフルパスを調べることが可能です。
下記にphpサーバーフルパスを調べる方法をメモします。

FTP情報しかない場合などにいいと思います。


phpでサーバーのフルパスを調べる

phpファイルを作成し、下記のコードを記述します。
例:test.phpなど

<?php
echo __FILE__;
?>

作成した「test.php」をサーバにアップロードし、ブラウザでアクセスします。
アクセスすると、アップロードしたファイルまでのフルパスが表示されます。

表示例

/home/test/www/public/test.php

上記の方法でサーバーのフルパスを調べることができます。
アップロードしたファイルはフルパスを確認したら削除してください。


Smarty:Smartyでforeachをする方法

Smartyforeachを使用して、繰り返しループ)処理をする方法をメモします。

システムを実装していると、データをforeachしてループさせることが結構あります。

phpの場合と記述方法が違うので注意です。


Smartyでforeachをする方法

phpの場合

foreach ($data as $key => $value) {
	echo $key;
	echo $value;
}

Smartyの場合

{foreach from=$data item=value key=key}
	{$key}
	{$value}
{foreachelse}
	データがない場合の処理を記述
{/foreach}

fromに配列を指定し、itemに値の名前、keyにキーの名前を指定します。
データがない場合、「foreachelse」に入ります。


Smarty:Smartyでfor文を使用する(section)

Smartyphpfor文のようにループを行いたい場合があります。
フォームなどで選択する月や日などはループさせて出力することが多いです。

phpの記述と違って、Smartyではsectionを使用します。

今回はSmartysectionを使用して、phpfor文と同じように使用する方法をメモします。


Smartyのsectionでfor文のように使用

phpの場合

for ($i = 1; $i < 13; $i++) {
	echo $i;
}

Smartyの場合

{section name=i start=1 loop=13}
	{$smarty.section.i.index}
{/section}

Smartyではfor文ではなく、sectionを使用してループさせます。
startに初期値を設定します。


HTML:改行文字列をtextarea内で表示

phpで作成した改行を入れた文字列textarea内に挿入して表示させる時に、改行がうまくいかなかったのでメモします。

下記のように改行箇所に「\n」や「<br>」をテキストエリアに入れてもそのまま表示されてしまいました。

<?php
$text = 'テスト\nテスト';
?>

<textarea><?php echo $text; ?></textarea>

HTML_textarea1


テキストエリア内で文字列改行させて表示させる場合は改行コードの「&#13;」を改行箇所に入れると正しく改行されて表示されました。

<?php
$text = 'テスト&#13;テスト';
?>

<textarea><?php echo $text; ?></textarea>

HTML_textarea2


また、データベースから取得したデータは改行されたまま表示されます。

上記が正しい方法かわかりませんが、テキストエリア内で改行することは確認できました。

WordPress:スパム対策プラグイン(Spammer Blocker)

WordPressを使用していて、スパム対策をしていないとスパムコメントが結構くるようになります。

スパムが大量にくるとサーバにも負荷がかかったりして、WEBページが重い状態になったりします。

WordPressを使用する場合は、スパム対策は必ず行った方がいいです。標準で入っているプラグインの「Akismet」も有効にしています。
Akismet」でも充分、スパム対策はできますが、今回は「Spammer Blocker」を設定した時の方法をメモします。

Spammer Blockerプラグインは同IPアドレスからスパムをブロックしたり、自動でスパムを削除してくれるのでとても便利です。


Spammer Blocker

スパム対策をするプラグインです。
一度スパム判定されたIPアドレスからのスパムをブロックします。
また、スパム判定されたコメントを自動で削除します。

「Spammer Blocker」ダウンロードページ


「Spammer Blocker」設定方法

1.プラグインから新規追加で「Spammer Blocker」で検索し、インストールします。

Spammer_Blocker1

Spammer_Blocker2

2.インストールした「Spammer Blocker」を有効化し、「設定」をクリックします。

Spammer_Blocker3

3.「Automatic IP address duplication」のStatusを「On」にチェックを入れ、設定します。

Spammer_Blocker4

※「Access restrictions」、「Detection of spammers」、「Banned message」は変更しないでOKです。

4.設定が完了すれば、「Spammer Blocker」がサイトに反映されます。


スパムが大量にくる場合などは、設定も簡単なので使用しやすいと思います。
WordPressではスパム対策は重要なので、おすすめです。