配列関数 2022年10月02日 14:39   編集
入力配列から単一のカラムの値を返す
ということだが、多次元配列から特定のキーの値だけを取り出して新たな配列を作ることができる。例えば
$data['Y4vC8DOE'] = array('title'=>'strpos', 'category'=>'String関数');
$data['O3LPSQ4p'] = array('title'=>'preg_match', 'category'=>'PCRE関数');
$data['D7gFDJzL'] = array('title'=>'date_create', 'category'=>'日付・時刻関数');
$data['zQVvImlQ'] = array('title'=>'array_multisort', 'category'=>'配列関数');
$data['EJTCFyBt'] = array('title'=>'is_array', 'category'=>'変数操作関数');
のような多次元配列$dataがある場合、
$array = array_column($data, 'category');
print_r($array);
の結果は
続きを読む
counter:304
プログラム実行関数 2022年07月15日 17:47   編集
外部プログラムを実行する。
第2引数に変数を指定すると、そこに外部プログラムの実行結果が保存される。
以下はコマンドプロンプトでdirコマンドを実行した結果が変数$outに保存される。(Windows環境の場合)
$command = "dir";
exec($command, $out);
print join("\n", $out);
counter:366
PCRE関数 2022年07月15日 17:09   編集
正規表現の特殊文字の前にバックスラッシュを挿入する。
print preg_quote('[abc].de+fg/^|h{}#12:34');

\[abc\]\.de\+fg/\^\|h\{\}\#12\:34
となる。対象文字列は
.\+*?[^]$(){}=!<>|:-#
/は正規表現の特殊文字ではない。
counter:398
PHPオプション/情報関数 2022年07月15日 16:39   編集
指定したモジュールの関数名を配列として返す。モジュール名を取得するget_loaded_extensionsを併用して
foreach (get_loaded_extensions() as $module) {
print "<h1>$module</h1>";
print_r(get_extension_funcs($module));
}
を実行すると、各モジュールで使用できる関数名が得られる。
counter:429
PHPオプション/情報関数 2022年07月15日 16:10   編集
全てのモジュールの名前を配列として返す
print_r(get_loaded_extensions());
counter:371
PHPオプション/情報関数 2022年07月15日 15:47   編集
PHPの設定情報を出力する。printやecho使わず
phpinfo();
だけで出力される。
counter:407
マルチバイト文字列関数 2021年04月26日 16:43   編集
指定した長さで文字列を丸める。
mb_strimwidth(文字列, 開始位置, 丸める文字列の長さ, 末尾を置き換える文字列[, 文字エンコーディング])
echo mb_strimwidth('PHPコード',0,8,'...');
の実行結果は
PHPコ...
4番目のパラメータは、丸められた文字列の末尾に追加されるのではなく、丸められた文字列の末尾を置換する。'...'のように3文字分の文字列を指定すると、丸められた文字列の末尾3文字分が置換されることになる。
counter:662
マルチバイト文字列関数 2021年04月26日 16:24   編集
文字列の長さを返す。半角文字は1、 全角文字は2として数える。
echo mb_strwidth('PHPコード');
の結果は
9
ちなみに
echo mb_strlen('PHPコード') .'<br>';
echo strlen('PHPコード');
だと
6
12
となる。
counter:641
2021年04月21日 20:36   編集
  • 左側に表示されるメニューをカスタマイズしたい場合は、タイトルが「Menu」という名前のページを作って下さい。
    Menuにはたとえば
    [[recent]]
    などと記載すると新着順に記事が表示されます。そのほかlistupプラグインなどを使ってメニューに表示されるインデックスをカスタマイズすることができます。
  • プラグインの詳細を見るには、「プラグインヘルプ」などのタイトルのページを作成し、
    [[plugins]]
    と記述して下さい。
  • ページ記述のヘルプは「ヘルプ」というタイトルのページに
    [[help]]
    と記述して下さい。

  • 初期設定では最新の記事がトップページに表示されますが、トップページを固定するには「FrontPage」というタイトルのページを作ってください。
  • Sidebar」というタイトルのページに書かれた内容はサイドバー部分に表示されます。
  • 「Footer」というタイトルのページに書かれた内容はフッター部分に表示されます。
counter:1,675
2021年04月21日 20:16   編集
ver.1.184
2023.04.15
PHP8.2.4対応 term.php search_image.php bbs.php calendar.php修正
ver.1.183
2022.12.30
カテゴリーを指定した際、該当記事数が1ページの表示件数を超えても繰り越しリンクが表示されていなかったのを修正。
ver.1.182
2022.10.15
スキンファイル編集機能追加
ver.1.181
2022.10.11
cssファイルの構成を変更
ver.1.180
2022.10.09
comment、comment2プラグインに管理者用画面を追加。
ver.1.179
2022.10.07
access、calendar、diff、files、footnote、get_id、plugins、searchプラグイン修正。
ver.1.178
2022.10.05
アクセスカウンター処理修正。
ver.1.177
2022.10.04
bbsプラグインを改修。
ver.1.176
2022.09.29
重複部分を整理。
ver.1.175
2022.09.23
files、listup、pluginsプラグインを改修。
ver.1.174
2022.09.11
calendarプラグインを改修。
ver.1.173
2022.09.06
管理者画面でのinit.php編集処理を修正。
ver.1.172
2022.08.29
bbs_countプラグインを改修。
ver.1.171
2022.08.14
アウトラインの表示を変更。
ver.1.170
2022.07.13
カウンター処理修正。
ver.1.169
2022.06.07
CSSの記述ミスなどを修正。
ver.1.168
2022.05.26
clendar、help、search_imageプラグインを改修。
ver.1.167
2022.05.19
選択メニューの表示をCSSで設定するように変更。
ver.1.166
2022.05.10
添付ファイルのナンバリング方式を変更。添付ファイルの表示位置を簡易指定できるように修正。
ver.1.165
2022.04.27
bbsプラグイン、bbs_countプラグイン改修。
ver.1.164
2022.03.27
bmpファイルのサムネール作成に対応。calendarプラグイン改修。
ver.1.163
2022.03.22
PHP8でエラーやアラートが出るのを修正。
ver.1.162
2021.10.20
非管理者モードで記事表示するときは、管理者用記事のリンクは表示しないが、
通常の記事内に管理者用記事のタイトルがあった場合リンクに置換していたのを修正。
ver.1.161
2021.09.22
記事内でdivタグを閉じ忘れるとレイアウトが崩れるのを修正。
ver.1.160
2021.09.15
bbsプラグインの投稿数をカウントするbbs_countプラグインを追加。
ver.1.159
2021.09.13
tmplディレクトリ内のテンプレートファイルと同名のcssが存在すれば、style.cssを上書きするよう変更。
ver.1.158
2021.09.09
bbsプラグイン修正。記事のデフォルト文字列を指定できるよう修正。
ver.1.157
2021.09.08
comment3プラグインを修正。
ver.1.156
2021.08.26
クッキーの処理を修正。search_image、navi、listup、categories、access、recentプラグイン修正。
新着順の記事名リストの数を変更できるように修正。
ver.1.155
2021.08.24
gifファイルのサムネール作成に失敗するのを修正。login.phpを読み込むよう変更。
ver.1.154
2021.08.02
Firefoxでリンクが効かないケースがあるのを修正。style.css編集。
ver.1.153
2021.07.05
bbsプラグインを改修。
ver.1.152
2021.06.22
file_upload関数内の記述ミスを修正。
パスワード認証時にブルートフォース攻撃対策処理を追加。login関数追加。
ver.1.151
2021.06.21
categoriesプラグイン修正。ヘッダーに表示するタイトルを選択できるように修正。
ver.1.150
2021.05.05
テンプレートの処理を修正。
ver.1.149
2021.04.30
readmoreプラグインを追加。
ver.1.148
2021.04.28
登録した拡張子のファイルのみアップロードできるようにした。
ファイルアップロード時にMIMEタイプチェックを行うようにした。
ver.1.147
2021.04.24
記事編集フォームをflexボックスによるレイアウトに変更
ver.1.146
2021.04.22
history.php、listup.phpを修正。
ver.1.145
2021.04.18
更新履歴の表示を変更。recent.php、bbs.phpを修正。
ver.1.144
2021.04.15
bbsプラグインで過去ログが表示されないバグを修正。
添付ファイルの表示順、レイアウトを調整。
ver.1.143
2021.04.14
style.cssの記述ミスを修正。bbsプラグインを修正
ver.1.142
2021.04.13
categoriesプラグインを改修。
ver.1.141
2021.04.11
カテゴリープルダウンリストと記事に表示されるカテゴリーの色がずれていたのを修正。
Sidebarという名前の記事を作成すると、サイドバーに表示されるように修正。
ver.1.14
2021.04.07
レスポンシブデザインに対応。
ver.1.138
2020.03.31
tag_convert関数修正。calendarプラグイン修正。
ver.1.137
2020.03.25
comment2プラグイン修正。
ver.1.136
2020.03.24
bbs、recentプラグイン修正。
ver.1.135
2020.03.23
bbs、comment、comment2、comment3プラグイン修正。
ver.1.134
2020.03.18
headerに記述したJavaScriptを外部ファイルに移動。
ver.1.133
2020.03.17
管理者モードが解除できないバグを修正。bbsプラグインにスライドロック機能追加。
ver.1.132
2020.03.12
記事に管理者モードを追加
ver.1.131
2020.03.11
$post_mode でだれでも編集可能モードにしてロックすると、
管理者パスワードでないと編集できなくなってしまうバグを修正。
ver.1.13
2018.07.09
カウンター機能で、同じホストからの連続アクセスをカウントしないオプションを追加。
ver.1.12
2018.06.12
検索結果で該当記事がない場合、フォームが消えるのを修正。
ver.1.11
2018.05.25
PHP7.2.0対応
ver.1.10
2017.12.28
プラグインが配列形式で値を返す場合、2個目の要素を記事末尾に追加するように修正。(脚注プラグイン対応)
ver.1.09
2017.04.10
古い履歴ファイルを削除するよう修正。
ver.1.08
2017.03.22
外部スタイルシートをブラウザ表示用と印刷用に分割。
ver.1.07
2017.03.01
プラグインの記述を間違えて致命的なエラーが出る場合、
プラグインの実行をキャンセルしてエラーメッセージを表示するようにした。
ver.1.06
2017.02.27
記事中のURLをオートリンクできるようにした。
ver.1.05
2017.01.31
誰でも投稿可モードの場合、管理者パスワードで記事をロックできるようにした。
誰でも投稿可モードで使用できるタグを設定できるようにした。
ver.1.04
2017.01.24
投稿フォームの「プレビュー」ボタンを押したときのプレビュー表示を調整。
ver.1.03
2017.01.23
カテゴリーの色がそろわないケースがあるのを修正。
ver.1.02
2017.01.17
記事を編集するとバックアップを作成するように修正。
合わせてdiff(差分表示)プラグインを追加。
ver.1.01
2017.01.12
別名が索引メニューで表示されていなかったのを修正。
ver.1.0
2016.12.26
とりあえず完成。
counter:752
配列関数 2021年04月15日 17:09   編集
別名:rsort
値でソートする。キーと値の関係は維持されない。連想配列に使用した場合、キーはソートした値の順番の数値に置き換えられる。
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
の結果は
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange 
counter:714
配列関数 2021年04月15日 17:04   編集
別名:krsort
キーと値の関係を維持して、キーでソートする。ksortは昇順、krsortは降順
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
の結果は
a = orange b = banana c = apple d = lemon 
counter:658
配列関数 2021年04月15日 16:56   編集
別名:arsort
キーと値の関係を維持して、値でソートする。asortは昇順、arsortは降順
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
の結果は
c = apple b = banana d = lemon a = orange
counter:521
String関数 2021年01月05日 12:47   編集
文字列の最後から空白や改行を削除した文字列を返す。
$str = "ABC\n";
$str = rtrim($str);
if ($str == 'ABC') {
print $str;
}
counter:728
2020年03月27日 13:45   編集
タイトル
投稿者
編集パスワード
コメント
添付
キーワード
  • 無題 2020-03-27 13:33:05 MjZkYzliZj  返信
    新着表示だとフォームとかが表示されない?
counter:2,916
マルチバイト文字列関数 2017年04月05日 11:58   編集
文字列の長さを得る
全角文字も1文字としてカウントする
$str = '日本語';
$str2 = 'japan日本';
print mb_strlen($str) . "<br />";
print mb_strlen($str2) . "<br />";
実行結果
3
7
counter:3,260
配列関数 2017年04月05日 10:29   編集
配列の差を計算する
配列を他の配列と比較し、 他の配列には存在しない要素だけを返す。
$list1 = array(1,7,3,4,5);
$list2 = array(1,2,3,4,5);
print_r( array_diff($list1,$list2) );
の結果は
Array ( [1] => 7 ) 
counter:2,841
2017年03月07日 21:10   編集
基本的にテキスト装飾はhtmlのタグで直接記述します。管理者設定で許可されたタグが使用できます。

タイトル

同じ記事を複数のタイトルで探せるようにしたい場合、複数のタイトルをつけることをできます。 たとえば、同じ記事に「MACアドレス」「物理アドレス」両方の名前をつけるには、タイトルに
MACアドレス&&物理アドレス
と入力します。こうすると、それぞれの名前で記事を探すことができます。 記事では最初に記入した名前がタイトルとして表示され、2番目以降が別名として表記されます。 インデックス上ではそれぞれの名前が表示されます。
また、タイトルが同じで内容が違う記事を複数登録することもできます。

カテゴリー

カテゴリー欄に入力すると、カテゴリーが設定されます。新たなカテゴリーを入力すると、次回からそのカテゴリーをリストから選択することができます。 カテゴリーを指定すると、カテゴリーごとに記事を表示したり、カテゴリーによる記事の絞り込みができます。
ひとつの記事に複数のカテゴリーを指定することができます。カテゴリー欄に
コンピュータ&&ソフトウェア
のように"&&"で区切って入力すると、「コンピュータ」「ソフトウェア」2つのカテゴリーを指定したことになります。

見出し

見出しはh1、... h4タグを使うことを想定しています。見た目の変更はstyle.cssで行うことになります。
<h1>h1タグによる見出し</h1>
<h2>h2タグによる見出し</h2>
<h3>h3タグによる見出し</h3>
<h4>h4タグによる見出し</h4>

h1タグによる見出し

h2タグによる見出し

h3タグによる見出し

h4タグによる見出し

タグ

許可されているタグは、編集フォームの「使用可能なタグ」で確認できます。 許可されたタグは文字参照で記述しても有効になるので、ご注意ください。 <abc>ABC</abc>のように登録されていないタグは文字参照で表示されます。
preタグ内では許可されているタグを含めてすべてのタグが文字参照で表示されます。
<div style="color:red;">許可されているタグ</div>
<font style="color:blue;">許可されていないタグ</font>
<abc>許可されていないタグ</abc>
同じものをpreタグの外に出すと
許可されているタグ
<font style="color:blue;">許可されていないタグ</font> <abc>許可されていないタグ</abc>

改行

「改行を<br />に変換する」
をチェックしていると、フォーム中の改行を
<br />
に変換して記事の改行に反映させます。ただし、行の最後が閉じタグ ">" あるいはプラグインの記述に使う "]]" の場合は変換されません。
<table>
<tr><td>テーブル</td></tr>
</table>
<table><br />
<tr><td>テーブル</td></tr><br />
</table><br />
のようになると変だからです。

部分編集

部分編集することができます。 部分編集したい部分に
<|>
を挿入してください。 その場所から次のマーク部分までだけを編集することができます。 記事が長くて編集か所を見つにくいときなどに使用してください。

添付ファイル

画像などの添付ファイルは記事ごとにアップロードします。
「投稿」ボタンを押してファイルをアップロードすると、ファイルのサムネールの上にそのファイルの埋め込みタグが表示されるので、それをコピーして貼り付けます。
画像ファイルの場合、imgタグにwidth属性を指定しますが、オリジナルの画像の幅となっています。大きすぎてはみ出すような場合は、適当な数値に変更してください。

添付ファイルは記事ごとに管理されますが、埋め込みタグは記事に関連づけられたディレクトリへ保存されたファイルのパスを指定しているだけなので、他の記事に埋め込んでもそのまま使えます。

スキン

見た目の変更はテンプレートのHTMLファイルとCSSファイルで行います。

管理者設定ページで選択したスキンファイルと同名のCSSファイルが使用されます。
たとえばスキンとして./tmpl/basic.htmlを選択した場合、./tmpl/basic.cssというファイルが存在すれば、それが./style.cssにコピーされて実際に使用されるCSSファイルとなります。また./tmpl/basic_print.cssというファイルが存在すれば、それが./print.cssにコピーされて実際に使用される印刷用CSSファイルとなります。
HTMLファイルと同名のCSSファイルがなければ、./tmpl/style.cssや./tmpl/print.cssがコピーされます。

このため、直接./style.css、./print.cssを編集した場合は、管理者設定画面で設定を変更した際に./tmplディレクトリ内のCSSファイルで上書きされてしまうのご注意ください。
counter:3,034
2017年03月07日 21:06   編集
インストールされているプラグインの一覧です。

[A]
access
アクセスの多い順にページ名を一覧表示
[B]
bbs
掲示板を作成する
bbs_count
bbsプラグインの最新投稿をチェックして、投稿数をカウント
[C]
calendar
カレンダーを表示し、予定などを保存します。
categories
カテゴリーの一覧を表示する
comment
1行コメントフォームを表示
comment2
commentプラグインに記事の再編集機能を追加
comment3
comment2プラグインにファイル添付機能を追加
[D]
debug
デバッグ用情報を出力
diff
差分表示
[E]
edit
編集リンクを表示する
[F]
files
記事のファイル情報を表示する
footnote
脚注を表示する
[G]
get_id
記事のIDを取得
[H]
help
記事の入力ルールを簡単に説明します
history
更新履歴を表示する
[L]
listup
記事の一覧を表示する
[N]
navi
同じカテゴリーまたは同じタイトルの前後の記事のリンクを表示する
next_link
同じカテゴリーの前後の記事のリンクを表示する
[P]
plugins
プラグインの一覧と説明、使用例を表示する。
[R]
readmore
「続きを読む」を表示する
recent
最近更新された記事の一覧を表示する
[S]
sample
ここにプラグインの説明を記述
search
検索フォームを表示して検索する
search_image
記事に添付された画像のサムネールを一覧表示する
show_new
ファイルが更新されたらnew!表示する。
counter:21,759