今日学んだこと~PHP~

今日もPHPの学習をしました。

今日の主な学習内容は、「電子メールの送信」と「ファイルとディレクトリの操作」です。

重要だと思ったことをまとめていきます。

 

★電子メールの送信

・一般に電子メールを送信するにはSMTPサーバーを利用する

SMTPサーバーとは、SMTPというプロトコルで動作するサーバーのこと

・メールを送信するためにはmail関数を使う

・mail関数を使うには、SMTPサーバー名とポート番号が必要

・通常のプロバイダのSMTPサーバーは、迷惑メールの送信もとにならないために、何らかの認証方式を導入している。その一つに『SMTP認証』がある

SMTP認証とは、メール送信の際にSMTPサーバーとユーザーとの間でアカウントとパスワードの認証を行い、認証された場合のみメールの送信を許可するというもの

・mail関数は、メール送信のためにPHPが用意している標準の関数だが、マルチバイト文字を扱う前提にはなっていない。

・マルチバイト文字を送信する場合は、mb_send_mail関数を利用する。

・メールヘッダとは、メール本体に付加される、そのメールに関する様々な情報のこと

・メールは最初、ASCIIにしか対応していなかったため、マルチバイトの文字、バイナリデータ等を送信できなかった。そこで、様々な種類のデータにも対応しようということでMIMEという規格が誕生した。

MIMEではマルチばいとやバイナリの部分をASCIIの文字にエンコードします

 

★ファイルとディレクトリの操作

〇フォームでファイルをアップロードできるようにする場合のルール

1.ポスト送信を行う

2.FORMの ENCTYPE属性に"multipart/form-data"を指定

3.アップロードするファイルを選択するINPUTのTYPE属性に"file"を指定

 

・アップロードされたファイルの情報は、スーパーグローバル変数$_FILESに保管される

MIMEタイプとは、インターネット上でファイルを識別するための名前

・move_upload_file関数は、アップロードされたファイルを別の場所に移動する

・header関数は、指定したHTTPヘッダを送信する

・readfile関数は、指定したファイルをクライアントに出力する

・dir関数は、指定したディレクトリのオブジェクトを返す

・dir関数のように、newを使わずに関数自身がオブジェクトを作ってくれるものが結構ある

・mkdir関数は、引数に指定したパスのディレクトリを作成する

・is_dir関数は、ディレクトリの存在を調べる

・copy関数は、ファイルをコピーする

・is_file関数はファイルの存在を調べる

・file_exists関数は、ファイルまたはディレクトリの存在を調べる

・unlink関数は、ファイルを削除する

・rename関数は、ファイル名を変更する

・ファイル操作を行うときは、まず「ファイルを開き」、終了するときは必ず「ファイル閉じる」必要がある

・fopen関数は、ファイルを指定したモードで開く

・fgets関数は、ファイルから1行読み込む

・fwrite関数は、ファイルに文字列を書き込む

・fclose関数は、ファイルを閉じる

・readfile関数は、ファイルを標準出力に出漁する関数。fopen関数で開くことなく、簡単にファイルの内容を表示できる

・getenv関数は、環境変数の値を取得する

 

以上です!