FC2ブログ
「作曲」カテゴリには自作曲がたくさん貼ってあります。初心者独特の曲の雰囲気をお楽しみください。
■ BGM作成依頼はこちら 500円。[こちらから]
■ フリーBGM(素材)サイト: 【SOUND-SITES】 公開
■ アルバム(全16曲)完成: 「Electrovoice Trajectory」
■Short music clips please play & listen
Welcome! This song is my own work.[Shuffle! をクリックするとランダムで違う曲が流れます]
[Shuffle!]
←演奏中に押すとランダムで曲が変わります。
ニコニコモンズのページ (2935332)

youtube、ニコニコ動画、iTunes その他 作品公開場所一覧

http://tsukikagejoupr.blog.fc2.com

簡単! php の仕組み

php の仕組み。

html = xxx.html
php = abc.php

ここに html のコードがあります。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<!-- gokuu.html -->

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />

<title>HTML のテスト</title>
</head>
<body>
<h1>おっすおら悟空</h1>
</body>
</html>


以下のように表示されます。



これは、上記の 「gokuu.html」 を表示した結果です。サーバーに置いてあった gokuu.html の内容がそのままあなたのブラウザに送信され、ブラウザがそれを表示しました。

php だと何ができるでしょう?

<?php header("Content-Type:text/html;charset=utf-8"); ?>
<?php

/* gokuu.php */

$str = "ぼく悟飯、よろしくね" ;

// この部分はおまじない。
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />

<title>php のテスト</title>
</head>
<body>
<h1>おっすおら悟空 <?php echo $str; ?></h1>
</body>
</html>


このように表示されます。



<!DOCTYPE HTML ~ 最後の </html> までは、色を付けた部分以外は同じです。php をかくときは基本、html の上部分に php のコードを記述すればよいのです。


<?php echo $str; ?>

の部分が、「ぼく悟飯、よろしくね」を出力しています。

プログラムの上の部分で、変数 $str に $str = "ぼく悟飯、よろしくね" ; として代入していたものを、この部分で出力しています。

echo $str ; を
echo "ぼく悟飯、よろしくね" ;

としても同じ結果が得られます。

echo ... というのは、出力する、という命令です。

echo というのは php の命令なのですが、php の命令をさせたい場合は、

<?php ~ ?>

で囲む決まりになっています。

なにも $str を、プログラムの上の部分で 代入しなくても、

<?php $str = "ぼく悟飯、よろしくね" ; echo $str; ?>

としても大丈夫です。命令の最後には、セミコロン「;」を付け、文を区切ります。<?php ~ ?>で囲めばいくつの文でも実行できます。

html の上部分に php のプログラムを書くといいましたが、その部分も <?php ~ ?> で囲まれていることに気づくでしょうか。 囲みさえすれば php の命令ができるということです。

html の場合は、サーバーにある (htmlの) ファイルが”そのまま” 送られてきて、それをあなたのブラウザが表示しますが、php の場合は、”そのまま” ではありません。サーバーはこちらに送る前にphpの計算(命令を実行)をします。サーバ上で、上で述べた <?php ~ ?> の部分の命令が 上から順に実行されていきます。php の命令はたくさんの種類がありますが、今は echo について説明すると、echo ... は、その(html記述の)場所に 出力=つまり、html のコードを ”埋め込む” のです。echo のほかに、print, print_r などの出力の命令があります。実際、出力関数以外の関数はまさにいろいろなことを実行するだけです。


そのように、サーバ上で html にあたる 内容が 埋め込みで 生成され、生成されたものが、あなたのブラウザに送られてきます。


おわかりになられたでしょうか。これを、サイトが動的に生成されるといいます。


とにかく、<?php ~ ?> で囲めば命令ができるのですから、応用して、次のような便利なこともできます。

<?php header("Content-Type:text/html;charset=utf-8"); ?>
<?php

/* gokuu-2.php */

// 普通はこの部分でいろいろな命令を行いますが、理屈としては何もしなくても問題ないわけです。
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />

<title>php のテスト(2)</title>
</head>
<body>
<?php for($i=1;$i<=7;$i++) { ?>
<h1><font size="<?php echo $i; ?>">おっすおら悟空</font></h1>
<?php } ?>
</body>
</html>


繰り返しの構文、for 文のところが、巧妙に入り組んでいます。

以下のように表示されます。



<h1><font size="1">おっすおら悟空</font></h1>
<h1><font size="2">おっすおら悟空</font></h1>
<h1><font size="3">おっすおら悟空</font></h1>
<h1><font size="4">おっすおら悟空</font></h1>
<h1><font size="5">おっすおら悟空</font></h1>
<h1><font size="6">おっすおら悟空</font></h1>
<h1><font size="7">おっすおら悟空</font></h1>

と、全く同じ意味ですが、このように 7行書かなくてはいけない手間が、php のプログラミングで省けました。この場合は、上のように7行実際に書くことで html でも同じことができますが、もっと細かいことをやりたいとき、php でなければできないことも多々あります。


1, 2, 3, 4, 5, 6, 7 に当たる場所に、<?php echo $i; ?> が埋め込まれているのがわかりますね。for 文によって、$i が 1から7 まで順に繰り返され変化していきます。

php では、データベースを扱うことができますが、それとこの方法を組み合わせれば、たとえば表(<table> ~ </table> ) を動的に作ったりすることができ、様々なデータを扱うほかのいろいろなホームページは、そのようにして成り立っています。

さて、このような php プログラムを自分で書いても、そのままでは実行できません。
ブラウザは、html をそのまま表示するものなので、php の計算はしてはくれません。わかりますか?php の計算はサーバー側がやるものなのです。サーバーと同じものが、自分のパソコンの中にも必要なのです。そう、自分のパソコンをサーバーのようにしなくてはなりません。

無料で始める方法は無理のないように存在していて、apache というサーバーソフトを導入します(マイクロソフトのサーバーもあると思うのですがよく知りません)。また、php も導入します。さらに、MySQL というデータベースも導入します。多くの人がこの組み合わせを利用していて、問題はない感じです。

これに関しては、apache 、php、MySQL を調べてください。すべて入門からいろいろな手引きがネット上に存在しています。

ここではダウンロードのサイトだけ紹介しておきます。

Download apache
Download php
Download MySQL

※php には大きい潮流として、5 と 7 がありますが、レンタルサーバーが 7 に対応していれば問題ないです。レンタルサーバーと相談です。5 を入れておくと無難ですが、移行したりする場合面倒な事にもなるので 7 がサーバーで利用可能なら 7 かな。でも、とはいいつつ僕は 5 で始めて、いまも 5 だったかな…。


これら3つを統括してくれる xampp というものも存在してくれます。いろいろな設定を簡便に行うことができます。

また、作った phpで作ったホームページを公開する際には、サーバーにアップロードしますが、php を使うには、サーバーが phpに対応していないといけません。ホームページを公開する方法として普通、レンタルホームページ、レンタルサーバーの方法がありますが、php が使えるのは レンタルサーバーのほうだと思います。腕試しの場合はレンタルサーバーを利用できるでしょう。
php に対応しているのであれば、あとは、サーバーに配置するだけで、php は有効に働きます。

以上です。がむばれ!
プロフィール

Author:tsukikagejou

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
かうんた