第5章 組み込み関数 / 第5回 模擬試験
PHPのメールを送信する`mb_send_mail()`関数に関する次の記述のうち、正しいものはどれか。
`mb_send_mail()`は、マルチバイト文字を考慮したメール送信に対応する関数である。
正解
`mb_send_mail()`はデータベースにメールアドレスを保存する関数である。
`mb_send_mail()`はHTTPリクエストを送信する関数である。
`mb_send_mail()`はファイルをアップロードする関数である。
解説
`mb_send_mail()`は、マルチバイト文字(日本語など)を含む件名や本文を適切な文字エンコーディングでエンコードしたうえでメールを送信するための関数です。通常の`mail()`関数を日本語などのマルチバイト環境向けに拡張したものと考えられます。
他の選択肢が誤りである理由は次の通りです。
・`mb_send_mail()`はメールを「送信」する関数であり、データベースへの保存機能は持ちません。
・HTTPリクエストの送信には`curl`関数群などを使います。`mb_send_mail()`はメール送信専用の関数です。
・ファイルのアップロード処理はフォームの`$_FILES`や`move_uploaded_file()`などで扱う内容で、`mb_send_mail()`とは無関係です。
例:
```
mb_language('Japanese');
mb_internal_encoding('UTF-8');
mb_send_mail('to@example.com', '件名(日本語)', '本文(日本語)');
```
(参照: 独習PHP 第4版 第5章 組み込み関数 5.2.14節 mb_send_mail関数 p.185〜189)