画面サイズ(横:/縦:) |
ただ今の時刻は2024年12月6日(金)6時26分です。 午前6時を過ぎました。おはようございます。 |
Topページへもどる
前のページへもどる
|
|
PHPとは?
|
|
PHPとはどんな言語?
|
|
「もともとは、個人的なホームページ用に作られたサーバーサイド・スクリプト言語の
「
Personal
Home
Page」の頭文字の略であったが、バージョン3.0以降は
PHP:
Hypertext
Preprocessor の略であるとされるようになった。」
とPHP関連の本には書いてあります。
HTMLファイルの中に組み込んで利用する「スクリプト言語」の一種です。
最近、注目を浴びている「サーバーサイド・プログラング言語」のひとつです。
「MYSQL」などのWebデータベースソフトと連携して、Web上の(インターネット上に限らず、
自宅や会社などのネットワーク上の)Webデータベース構築にも使われています。
(「サーバーサイド」の意味は「
サーバー上で動作する」、「
スクリプト言語」とは「
ソースコードをすぐに動かす」ができるプログラム。」という意味です。)
|
|
PHPのメリットは何?
|
|
【メリット(1)】
プログラムを隠すことできる。
|
JavaScript(ジャバスクリプト)やHTML・CSSは自分が「苦労に苦労を重ねて作ったプログラム」を
隠すことは出来ません。その点、PHPで作ったプログラムは隠すことが出来るので「まあまあ安心」です。
|
|
【メリット(2)】
サーバー側で処理するのでクライアントの環境に左右されずに実行できる。
|
サーバー側で処理して結果だけを返す仕組みになっているので、
クライアント(インターネットに接続するパソコン)がどんな環境になっていても
サーバー側で実行して結果だけを表示させることができます。
JavaScriptで作成したプログラムは相手のパソコンがJavaScriptを無効にしている場合は
実行させることが出来ません。
また、JAVA(ジャバ)で作ったプログラムは、一般的にはJAVA関連の特別なソフトウエアが
インストールされていないパソコン上では実行出来ません。JAVA関連の特別なソフトウエアが
インストールされていなくても実行させる方法もあります。
|
|
【メリット(3)】
習得が容易で比較的新しい言語である。
|
CGI(Common Gateway Interface) もPerl言語などを用いて作成し、サーバー側で処理して
結果だけを返す仕組みですが、習得が難しいと言われています。
私も、CGIやPerlをかじりましたが、忙しさに負けて挫折しています。
その点PHPは習得も容易です。
あるPHPの本には「CGIはもっとも古典的な技術である。」と書かれています。
|
|
PHPの歴史
|
|
PHPの誕生
1994年(平成6年)に、デンマーク系カナダ人のプログラマー「
ラスマス・ラードフ(Rasmus Lerdorf)
氏 がプログラミング言語PHPの最初のバージョンである
PHP/FI("Forms Interpreter" の略)を開発しました。
「form」には「形」、「型枠」などの意味があり、「Interpreter(インタプリタ)」は「通訳」、「翻訳」という意味があります。
また、スイスにルーツを持つイスラエル人プログラマー「
アンディ・ガトマンズ
」氏や、イスラエル人プログラマーの「
ゼーブ・スラスキー
」氏らと共に、PHPの後継バージョンの開発にも携わりました。
(※「PHP マニュアル~PHPの歴史」、「フリー百科事典『ウィキペディア』」より引用、一部詳細説明を追加)
|
|
最新のPHPのバージョンは?
|
|
準備中です
|
|
このページのPHPのプログラム
|
|
※スマートフォンでは見れません。パソコンでご覧ください。
HTMLソースを実する前に実行されるPHPプログラムです。
<?php
header("Content-Type: text/html; charset=UTF-8");
// PHPの初期設定
ini_set('mbstring.language', 'ja');
ini_set('mbstring.internal_encoding', 'UTF-8');
// -----------------------------------------------------------------------------------------
// 【前のプログラム】:「../index.php」
// 【次のプログラム】:「.php」
// -------------------------------------------------------------------------------------
// サーバー名を取得する
$server_mei = $_SERVER["SERVER_NAME"];
// ------------------------------------
// 前のプログラムから認証情報を受け取る
// ------------------------------------
if(isset($_GET["ninsyouJyouhou"])){
$ninsyouJyouhou = $_GET["ninsyouJyouhou"];
}
else{
$ninsyouJyouhou = "認証情報が見つかりません。";
}
// ------------------------------------------------------
// ローカルストレージに保存してあるデータを読み取る
// ------------------------------------------------------
$GamenWidth = '<script>
document.write(window.localStorage.getItem("画面横サイズ"));
</script>';
$GamenHeight = '<script>
document.write(window.localStorage.getItem("画面縦サイズ"));
</script>';
// 日時情報を取得する
//タイムゾーンを日本の時間に設定
date_default_timezone_set('Asia/Tokyo');
$Now = getdate();
$Nen = $Now["year"];
$Tuki = 1*$Now["mon"];
$Day = $Now["mday"];
$Ji = $Now["hours"];
$Fun = $Now["minutes"];
// ----------------------------------------------------------------------------
// 前のプログラムから受け取った「認証情報」をチェックする
// 「認証情報」の中のタイムスタンプを抽出して1分経過していればメニューに飛ばす
// ----------------------------------------------------------------------------
$kirokuTstamp = substr($ninsyouJyouhou, 0, 10);
$keikaByou = time()-$kirokuTstamp;
if($keikaByou > 60){
header("Location: ../index.php");
}
if(strlen($ninsyouJyouhou) == 20){
$ninsyouCheck = "ok";
}
else{
$ninsyouCheck = "no";
}
?>
<!DOCTYPE HTML>
<HTML lang="ja">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="viewport" content="width=device-width">
<meta name="author" content="新村 保">
<LINK REL="PREV" HREF="../../index.php">
<TITLE>新村プログラミング研究所~CANVASでグラフを描く</TITLE>
<SCRIPT type="text/javascript" src="../javaScript/ugokuBall03.js"></SCRIPT>
<LINK rel="stylesheet" href="../../../css/allDeviceCss/table_settei.css" type="text/css">
<LINK rel="stylesheet" href="../../../css/allDeviceCss/fontSoutaiSettei.css" type="text/css">
<LINK rel="stylesheet" href="../../../css/allDeviceCss/style_syosettei.css" type="text/css">
</HEAD>
<body onload="wakusenHyouji();">
<DIV class="wakuNasiHaba100_table">
<TABLE>
<TBODY>
<TR>
<TD colspan="2" class="usuBlue">
<span class="large-blue-b">縮小しながら動くボール</span>
<span class="medium-red-b"> (</span>
<span class="medium-blue-b">スタート</span>
<span class="medium-red-b">をクリックしてください。)</span>
</TD>
</TR>
<TR>
<TD>
<canvas width="600" height="550" id="ugokuBall03" style="background-color:white;">
図形を表示するには、ブラウザが「canvas(キャンバス)」に対応している必要があります。
</canvas>
</TD>
<TD style="vertical-align: top;">
【canvasのサイズ】600×550<br>
<?php
echo "<span class='medium-blue-b'> 画面サイズ(横:</span>";
echo "<span class='medium-red-b'>" . $GamenWidth . "</span>";
echo "<span class='medium-blue-b'>/縦:</span>";
echo "<span class='medium-red-b'>" . $GamenHeight . "</span>";
echo "<span class='medium-blue-b'>)</span>";
echo "<br>";
// ----------------------------------------------
// 認証情報チェックが「ok」のときに動作可能にする
// ----------------------------------------------
if($ninsyouCheck == "ok"){
echo "<br>";
echo "<form name='sousaPanel'>";
echo "<input type='button' name='start' value='スタート' onclick='ugokuBall03()'>";
echo " 残り:<input type='text' name='nokoriFun' size='1' value='' readonly>分";
echo "<input type='text' name='nokoriByou' size='2' value='' readonly>秒";
echo "<hr>";
echo " 開始:<input type='text' name='kaishiJi' size='2' value='' readonly>時";
echo "<input type='text' name='kaishiFun' size='2' value='' readonly>分";
echo "<input type='text' name='kaishiByou' size='2' value='' readonly>秒";
echo "</form>";
echo "<br>";
}
else{
echo "<span class='large-red-b'>認証できません</span>";
}
?>
<br>
<hr>
<p><input type="button" name="clear" value="一時停止" onclick="stop()"></p>
<hr>
<p><A href="../pcBanMenu.php">「PC&タブレット版」のメニューへ</A></p>
<hr>
<p><A href="../../index.php">CANVAS(キャンバス)のメニューへ</A></p>
<hr>
<p><A href="../../../index.php">Topページへもどる</A></p>
</TD>
</TR>
</DIV>
</body>
</html>
|
|
※スマートフォンでは見れません。パソコンでご覧ください。
HTMLソース
<!DOCTYPE HTML>
<HTML lang="ja">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="viewport" content="width=device-width">
<meta name="author" content="新村 保">
<LINK REL="PREV" HREF="../index.php">
<TITLE>PHPとは?</TITLE>
<LINK rel="stylesheet" href="../css/allDeviceCss/table_settei.css" type="text/css">
<LINK rel="stylesheet" href="../css/allDeviceCss/fontSoutaiSettei.css" type="text/css">
<LINK rel="stylesheet" href="../css/allDeviceCss/style_syosettei.css" type="text/css">
<LINK rel="stylesheet" href="../css/allDeviceCss/mobileHihyoujiCss.css" type="text/css">
</HEAD>
<BODY>
<DIV class="wakuNasiHaba100_table">
<TABLE>
<TBODY>
・
・
・
・
<TR>
<TD style="text-align : center">
<?php
// ここから時刻表示のPHPプログラムを呼び出す
$kekka = jikokuMessage($Nen, $Tuki, $Day, $youbi, $Ji, $Fun, $GamenWidth);
?>
</TD>
</TR>
<TR>
<TD>
<A href="../index.php">Topページへもどる</A>
</TD>
</TR>
<TR>
<TD class="usuBlue" style="text-align : center">
<span class="xlarge-black-b">PHPとは?</span>
</TD>
</TR>
・
・
・
<TR>
<TD>
<A href="../index.php">Topページへ</A>
</TD>
</TR>
<TR><TD><BR></TD></TR>
</div>
</TBODY>
</TABLE>
</DIV>
</BODY>
</HTML>
|
|
※スマートフォンでは見れません。パソコンでご覧ください。
上記のHTMLソースの途中から呼び出されて実行される時刻表示のPHPプログラムです。
<?php
// 時刻に応じたメッセージ
function jikokuMessage($Nen, $Tuki, $Day, $youbi, $Ji, $Fun, $GamenWidth){
if($GamenWidth>500){
echo "<span class='medium-black-b'>ただ今の時刻は</span>";
}
echo "<span class='medium-red-b'>" . $Nen . "</span>";
echo "<span class='medium-blue-b'>年</span>";
echo "<span class='medium-red-b'>" . $Tuki . "</span>";
echo "<span class='medium-blue-b'>月</span>";
echo "<span class='medium-red-b'>" . $Day . "</span>";
echo "<span class='medium-blue-b'>日</span>";
echo "<span class='medium-blue-b'>(</span>";
echo "<span class='medium-red-b'>" . $youbi . "</span>";
echo "<span class='medium-blue-b'>)</span>";
// -----------------------------------------------------
echo "<span class='medium-red-b'>" . $Ji . "</span>";
echo "<span class='medium-blue-b'>時</span>";
if($Fun < 10){
echo "<span class='medium-red-b'>0" . $Fun . "</span>";
}
else{
echo "<span class='medium-red-b'>" . $Fun . "</span>";
}
echo "<span class='medium-blue-b'>分</span>";
if($GamenWidth>500){
echo "<span class='medium-black-b'>です。</span>";
}
echo "<BR>";
// ------ 午前11時までの場合 -------------------------------
if(($Ji <= 11) and ($Fun < 30)){
echo "午前" . $Ji . "時を過ぎました。";
if(($GamenWidth>0) and ($GamenWidth<500)){
echo "<br>";
}
}
if(($Ji <= 11) and ($Fun >= 30)){
$nkoriFun = 60-$Fun;
echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
$hyoujiJi = 1*$Ji+1;
echo "で" . $hyoujiJi . "時です。";
}
// ---- 昼の12時から13時の間の場合 -------------------------------
if(($Ji == 12) and ($Fun < 30)){
echo "お昼の" . $Ji . "時を過ぎました。";
if(($GamenWidth>0) and ($GamenWidth<500)){
echo "<br>";
}
}
if(($Ji == 12) and ($Fun >= 30)){
$nkoriFun = 60-$Fun;
echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
echo "で1時です。";
}
// ----- 午後1時から午後11時の間の場合 ------------------------------
if(($Ji >= 13) and ($Ji < 23) and ($Fun < 30)){
$hyoujiJi = 1*$Ji-12;
echo "午後" . $hyoujiJi . "時を過ぎました。";
if(($GamenWidth>0) and ($GamenWidth<500)){
echo "<br>";
}
}
if(($Ji >= 13) and ($Ji < 23) and ($Fun >= 30)){
$nkoriFun = 60-$Fun;
echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
$hyoujiJi = 1*1*$Ji-11;
echo "で午後" . $hyoujiJi . "時です。";
}
// ------ 午後11時から午前0時の間の場合 ----------------------
if(($Ji == 23) and ($Fun < 30)){
echo "午後11時を過ぎました。";
if(($GamenWidth>0) and ($GamenWidth<500)){
echo "<br>";
}
}
if(($Ji == 23) and ($Fun >= 30)){
$nkoriFun = 60-$Fun;
echo "<span class='medium-red-b'>あと" . $nkoriFun . "分</span>";
echo "で午前0時です。";
}
// ------------------------------------------
// 追加メッセージ
// ------------------------------------------
if($Ji == 0 ) {
$msg2 = "まだ起きているのですか?";
}
if($Ji == 1 ) {
$msg2 = "深夜にご苦労さま!";
}
if($Ji == 2 ) {
$msg2 = "まだ起きているのですか?";
}
if($Ji == 3 ) {
$msg2 = "まだ起きているの? もう起きたの? どっちかな?";
}
if($Ji == 4 ) {
$msg2 = "もう起きたの? ご苦労さま!";
}
if(($Ji >= 5) and ($Ji < 8)) {
$msg2 = "おはようございます。";
}
if(($Ji >= 8) and ($Ji < 10)) {
$msg2 = "今日も一日頑張りましょう!";
}
if($Ji == 10) {
$msg2 = "「こんにちは」かな?";
}
if($Ji == 11) {
$msg2 = "もうすぐお昼になりますね。";
}
if($Ji == 12) {
$msg2 = "昼ごはん食べましたか?";
}
if($Ji == 13) {
$msg2 = "午後も仕事や勉強で頑張りましょう!";
}
if(($Ji >= 14) and ($Ji < 16)) {
$msg2 = "こんにちは!";
}
if($Ji == 16) {
$msg2 = "そろそろ夕方になりますね。";
}
if($Ji == 17) {
$msg2 = "もう夕方になりましたね。";
}
if($Ji == 18) {
$msg2 = "こんばんわ!";
}
if($Ji == 19) {
$msg2 = "もう夜になりましたね。";
}
if($Ji == 20) {
$msg2 = "こんばんわ!";
}
if(($Ji >= 21) and ($Ji < 23)) {
$msg2 = "今日も一日お疲れ様でした。";
}
if($Ji == 23) {
$msg2 = "夜も遅くなりましたね。";
}
echo "<span class='medium-red-b'>" . $msg2 . "</span>";
}
?>
|
|
|
Topページへもどる
前のページへもどる
|
|