【よくわかるPHPの教科書】さまざまな処理から外部ファイルの扱いまで【学習メモ】
前回の記事の続きです。今回は、基礎の中でもやや実践的な内容に触れました。
前回の記事→【よくわかるPHPの教科書】データの取得と表示から制御まで【学習メモ】
さまざまな処理
PHPでできる全般的な処理について解説されています。
まだよくわかりませんが、実際はもっと色々なことができると思います。
しかし初心者向けということもあってなのか、かなり簡単にまとまっている印象を受けます。
他にできることはこれから勉強していこうと思います。
別のページにジャンプする
このプログラムを実行すると、指定先のURLにすぐ移動します。
利用場面がまだよくわかりませんが、他のプログラムと組み合わせて使うのでしょう。
一行ごとにテーブルセルの色を変える―剰余算
剰余算はプログラミングでは結構利用しそうですが、細かいところで間違えそうなので気をつけようと思います。
入力されたIDを次回アクセス時まで覚える―Cookie
クッキーは便利ですが、気をつけないとセキュリティ面で不安になりそうなので、よく考えて使っていきたいです。
また、setcookie関数のパラメータが少しややこしく感じたので、ちゃんとマニュアルを読んで利用しようと思いました。
ログイン情報をログアウトするまで保持する―セッション
会員制のサイトを作るときなど、ログイン機能は必須になると思うのでしっかり理解しておきたいです。
これも、気をつけないとセキュリティが心配なので、しっかり勉強して対策をしておこうと思いました。
電子メールを送信する
電子メールが送れるのは便利な機能だと思いますが、実際に使おうとすると日本語の対応などやることがたくさんあることに気がつきました。
不具合が起きないように、テストなどをしっかり行って実装しようと思います。
2つのトップページにランダムで誘導する―rand
本書ではゲーム的な要素があるWebサイトで活用できる、とありましたが、自分はそういったサイトを作る予定はないので多分使わないでしょう・・・。
ゲーム以外に使う機会があまり思い浮かばないです。
小数を整数に切り上げる・切り下げる―ceil、floor、round
round関数はパラメータの取り忘れに気をつけたいです。
書式を整える―sprintf
表示を整えるときに便利なので、覚えておこうと思いました。
外部ファイルの扱い
この章は、うまくプログラムが動かないことが多かったです。特に、最後のRSS情報の読み込みは未だ成功していません。
原因がわからないのでモヤモヤしますが、とりあえず飛ばすことにしました。
ファイルアップロードを受信する
この節ではプログラムを動かす前にuser_imgというフォルダを作っておく必要があります。
そのせいで、自分は最初エラーが出ました。フォルダを作っておくと、エラーは消えます。
ただ、なんとなく自分は最初にフォルダを作っておくというのが嫌でした。
そこでフォルダを作るプログラムも書けないか調べたところ、できそうだったので実際に書いてみることにしました。
以下のコードをsample23.phpの上らへんに追記すると、もとからuser_imgのフォルダを作らなくてもプログラムが動くと思います。
// コピー先のフォルダ制作 $dirname = './user_img/'; if (!file_exists($dirname)) { mkdir($dirname, 0777, true); echo "$dirname を作成しました<br />"; }
PHPのマニュアルを見て適当に書いただけなので、正しいかは不安ですが、一応動きます。参考までに。
ファイルに内容を書き込む―file_put_contents
これも、sample24.phpに以下のコードを書くと、最初に自分でフォルダを作っておく必要がなくなります。
$dirname = './news_data/'; if (!file_exists($dirname)) { mkdir($dirname, 0777, true); echo "$dirname を作成しました<br />"; }
file_put_contents関数はファイル自体を作ってくれるので、ファイルを作っておく必要はありません。
ファイルの読み込み―file_get_contents
今度は、先ほど作ったファイルを読み込みます。
readfileという読み込みができる関数もあるようですが、読み込んだものを加工できないそうなので、解説にあるように加工する場合はfile_get_contants関数を使うことを覚えておこうと思います。
RSS情報を読み込む―simplexml_load_file
実際にプログラムを書いて動かしてみたのですが、エラーが出てうまく表示されませんでした。
・・・と思っていたのですが、今試しに動かしたらきちんと表示されました。なぜでしょう・・・?
もしかすると、前回やったときはネットワークが不安定だったのかもしれません。このプログラムを試すときはネット環境が必要なので、もしうまくいかない方がいれば、ネット環境を用意してもう一度試してみましょう。
さいごに
これで、ひと通りPHPの章は終わりました。
全体を通して、以前よりスムーズに進んだ印象を受けると同時に、これでは全然足りないだろうな・・・とも思いました。
この本ではオブジェクト指向について取り上げられていないので、そういったことも別の本でみっちり勉強しておくべきだと感じました。
次はデーターベースの基本に進みます。PHPを使うにあたって、データベースは切っても切れない関係にあると思うので、この本で基本の部分を見ておこうと思います。