pg-box.jp
140206訓練 | ハコソフト
今日はファイル操作。 テキストファイルへの書き込み まずはコードから。 コード 入力フォーム 書き込み用PHP fopen ファイルまたは URL をオープンする。 第一引数:ファイル名かURL 第二引数:第一引数へのアクセス形式。 aは書き込み専用。末尾に追記する形で書き込まれる。ファイルが存在しない場合は新規で作成する。 bはバイナリモード。マニュアルで「互換性維持のために、fopen() でファイルをオープンする際は 常に 'b' フラグを指定することが強く推奨されます。」とあるので、特段の事情が無い限りbをつける。 fwrite(またはfputs) ファイルへの書き込み処理を行う。 exit=dieと同じようにfwriteもfputsも同じ。マニュアルでfputsの項目がfwriteの項目へのリンクをしているのでこちらを使ってみた。 第一引数:fopenを使って作成したファイルシステムポインタリソース。ファイルのどの位置?というところまで読み込んでいる。 第二引数:書き込みたい文字列。今回は入力値と日時を書き込んでいる。 fclose 引数が指しているファイルを閉じる。 fopenなどの関数によって正常にオープンされたファイルに限る。 header 生の HTTP ヘッダを送信する Locationは特別なヘッダでリダイレクトステータスコードを返すため、これを使って入力フォームへリダイレクト(自動転送)している。 今回のphpファイルには出力するものが何もないため利用している。 headerは全ての出力の前にコールしなければならない。 今回はheaderの前にページに何か出力しているわけでは無いので7行目だが問題ない。 $_SERVER サーバー情報および実行時の環境情報を有するスーパーグローバル変数。 HTTP_HOSTでサーバのホスト名、dirnameにPHP_SELF(現在実行中のファイル名)を引数として渡すことで親ディレクトリのパスを返している。 今回はホスト名/フォルダ名/ファイル名を渡すことでURLの表示を実現している。 実行結果 4人前入力してみた。 2014年 02月 06日 11:46:30 名前 メッセージ 2014年 02月 06日 11:58:33 我々は 宇宙人だ 2014年 02月 06日 12:35:49 @名無しさん