開発したアプリなど一覧

PHP の cURL を使って FTP を行う。

記事内にアフィリエイトリンクを含む場合があります

仕事で PHP 使ってるのだけども、ファイルを他のサーバへアップロードしたいのにスクリプトを動かすサーバの PHP は ftpも ssh も扱えなくてちょっと困ってたら cURL だけは使える事が判明したのでやってみたら出来たのでメモ。ぐぐっただけなんですけどね。

参考サイト

PHPでcURLを使ってFTPにアップロードするサンプル:phpspot開発日誌


PHP: PHP の cURL モジュールを使用して example.com のホームページを取得する - Manual

<?php

// アップロード $ch = curl_init(); $localfile = 'hoge'; $fp = fopen($localfile, 'r'); curl_setopt($ch, CURLOPT_URL, "ftp://username:password@example.com/$localfile"); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile)); curl_exec($ch); $error_no = curl_errno($ch); curl_close($ch);

// ダウンロード $ch = curl_init(); $localfile = 'hoge'; $fp = fopen($localfile, 'w'); curl_setopt($ch, CURLOPT_URL, "ftp://username:password@example.com/$localfile"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); $error_no = curl_errno($ch); curl_close($ch); fclose($fp);

curl_errno($ch) で返されるエラーコードは libcurl - Error Codes にある。エラー無ければ0が返って来る。
curl_error($ch) であれば文字列で帰ってくる様だ。(ドキュメント見ただけだが)

Sponsored Link

コメント

タイトルとURLをコピーしました