【cURL】cURL関数(php)でsshやftpなどを使用する方法

phpのcURL関数において、
ftpやsshを使ってファイルダウンロードやアップロードしたい時があると思います。
ファイルをアップロード、ダウンロードする方法を記しておきます。
ファイルをftpでアップロードする方法
$conn = curl_init(); $filename = "testfile"; //ファイル名 $username = "username"; //ユーザー名 $password = "password"; //パスワード $fp = fopen($filename, 'r'); $url = "ftp://".$username.":".$password."@hogefugapiyo.com/".$filename; curl_setopt($conn, CURLOPT_URL, $url); curl_setopt($conn, CURLOPT_UPLOAD, 1); curl_setopt($conn, CURLOPT_INFILE, $fp); curl_setopt($conn, CURLOPT_INFILESIZE, filesize($filename)); $response = curl_exec($conn); curl_close($conn);
ファイルをダウンロードする方法
$conn = curl_init(); $filename = "testfile"; //ファイル名 $username = "username"; //ユーザー名 $password = "password"; //パスワード $fp = fopen($filename, 'r'); $url = "ftp://".$username.":".$password."@hogefugapiyo.com/".$filename; curl_setopt($conn, CURLOPT_URL, $url); curl_setopt($conn, CURLOPT_FILE, $fp); curl_setopt($conn, CURLOPT_HEADER, 0); $response = curl_exec($conn); curl_close($conn);
オプションについて
| オプション名 | 説明 |
|---|---|
| CURLOPT_URL | リクエストするURL |
| CURLOPT_UPLOAD | データのアップロードを有効にする |
| CURLOPT_INFILE | アップロード時に転送内容を読み込むファイル |
| CURLOPT_INFILESIZE | ファイルをリモートサイトにアップロードする際のファイルサイズ |
| CURLOPT_FILE | 転送内容が書き込まれるファイル |
| CURLOPT_HEADER | TRUE を設定すると、ヘッダの内容も出力します |
