Twilioの音声ファイルをダウンロードするのに、CakePHPのライブラリを使いました。
CakePHPのライブラリを使ったファイルダウンロードに関する情報があまりなかったのでメモしておきます。
あくまでも「ダウロードさせる」のではなく、Web上から「ダウンロードする」です。
環境
CakePHP 2.4.×
Web上のファイルをダウンロードする
Web上のファイルをダウンロードします。
今回使うCakePHPのライブラリはHttpSocket, Folder, Fileです。
ダウンロードのソースは以下です。
11行目でFolderクラスのインスタンスの生成、フォルダの作成します。
14行目でモードを指定しています。これは fopen() のモードです。
15行目は setContentResource() メソッドで、ストリームを使うようにし、
17行目の HttpSocket::get() メソッドで、取得したいファイルのパスを指定してGETリクエストしています。
今回はファイルパス指定を固定にしましたが、適時変更してください。
また、例外処理などもありませんので各自で追加してみてください。
ライブラリを使うとPHPで同様の処理を行うより、記述量も減って、簡単です。