現在、PHPで掲示板をメモ帳で作成しています。
今回は、よくよく分からないものを記載!
PHPタグ=================================
<?php
// 保存するログファイル名
$LOGFILE = "log.txt"; … (1)
// POST で mode = write の属性が送られていたら書き込み処理
if ($_POST["mode"] == "write") { … (2)
$name = $_POST["name"]; … (3)
$message = $_POST["message"];
$date = date("Y/m/d H:i:s"); … (4)
if (file_exists($LOGFILE)) { … (5)
$lines = file($LOGFILE); … (6)
}
$fp = fopen($LOGFILE,"w"); … (7)
fputs($fp,"$name,$message,$date\n"); … (8)
for ($i=0;$i<count($lines);$i++) { … (9)
fputs($fp,$lines[$i]); … (10)
}
fclose($fp);
}
?>
PHP 解説よくよく分からない===========
(1) では変数で説明した変数に保存するファイル名を指定しています。ファイル名は保存、読み込みのところで複数回つかうので使いまわしできるように変数に入れています。
(2) では前ページで説明した、
<input type="hidden" name="mode" value="write">
でフォームから送られる情報を $_POST["mode"] で受け取って、その値が "write" かどうかチェックしています。
「投稿する」ボタンを押してサーバに情報が送信される際に mode=write も送られていますので、それを if文で判定しています。通常のアクセスでは mode=write が送られないため、書き込み処理を行わないという感じです。
(3) では(2)同様、フォームから送られた name の情報を受け取って $name という変数に入れています。
(4) では現在の日付を取得しています。PHPには date 関数という代物があって簡単に現在の日付を取得できます。
(5) ではファイルが存在するかチェックしています。
file_exists関数でファイルが存在するか調べています。
(6) では file 関数によって配列にデータをすべて入れています。なぜここでデータを変数に入れるかというと、新しく投稿されたデータを1行目に書き込んで、残りに古い情報を書き込むためです。
なまえ,メッセージ,2005/02/06
なまえ,メッセージ,2005/02/06
なまえ,メッセージ,2005/02/06
青が新しく投稿された情報で赤が元々保存されていたふるい情報
(7) ではこれから書き込むのでfopen関数でファイルを書き込みモードで開いています。
(8) では開いたファイルにfputs関数で書き込んでいます。名前、メッセージ、日付をカンマ区切りで1行にしてファイルに書き込んでいます。
(9),(10) では古いファイルの情報(投稿前に書き込まれていた情報)を書き込んでいます。これを行わないと、新しく投稿された情報は書き込まれますが、古い情報が消えてしまうのでこの処理をしています。
PHPの解説でよくわからないので、お答えしてください。
♪♪宜しくお願いします。♪♪
No.3ベストアンサー
- 回答日時:
提示されたソース自体、(個人的には)実用性から見れば問題ありすぎて「こんなもの使うな!」と言いたくなるぐらいですが、流れの理解をするためならシンプルで優れている面もあるので、100歩譲ってナシではないでしょう。
しかし、解説も付けてくれてあるのにこれを「全てわからない」と言われたらもう救いようがないです。諦めるかお金払ってパソコンスクール通ってくださいとしか言えません。No.2
- 回答日時:
どの部分が「よくわからない」のですか?
もし「全部わからない」のであれば、さすがに手に負えません。phpの習得は諦めてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル一覧を表示しその画面...
-
PHPでgz形式のファイルをダウン...
-
ファイルのダウンロードのイベ...
-
phpでzipファイルダウンロード...
-
CSVファイルのダウンロード
-
phpでうまく画像がダウンロード...
-
PHPで複数ファイルのダウン...
-
サーバー上のファイルをブラウ...
-
ダウンロードダイアログなしで...
-
こちらはただの直列処理ですか?
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
form actionで二つ送信先を指定...
-
シェルスクリプトからphpファイ...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
存在しないメールアドレスかど...
-
.htaccessにphp_valueが使用できな
-
PHP8を使うと、大量のWarningが...
-
PHPでfatal errorが出ても無視...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
phpでうまく画像がダウンロード...
-
ブラウザでExcelをダウンロード...
-
zip圧縮の種類について
-
PHPでファイルのダウンロードす...
-
VB.NETのFTPダウンロードについて
-
生成したHTMLをボタンクリック...
-
eclipseでコメントアウトができ...
-
【PHP】ダウンロードサイト作成...
-
複数ファイルを連続でダウンロード
-
phpでzipファイルダウンロード...
-
libxml2のインストール
-
PHPのFTP関数ftp_fgetエラーに...
-
ダウンロードファイル名の文字...
-
PHPでダウンロードしたファイル...
-
PHPでgz形式のファイルをダウン...
-
phpでの帯域制御、ダウンロード...
-
ファイルダウンロードについて
-
PHPでネット上のPDFファイルを保存
-
csvダウンロードについて
おすすめ情報