PHPコーディング

ftp接続でファイルをアップロード&ダウンロード

2009年11月20日
読み込み権限のないファイルをコピーするには、ftpでサーバーに接続し、ダウンロードする必要があります。

それをPHPから行う方法です。cronなど自動実行と組み合わせると、別サーバーにあるファイルと同期をとるなど、色々なことが自動でできるようになります。

//ftp接続
$connection = @ftp_connect(ftpサーバーのアドレス);

//ユーザ名とパスワードでログイン
$loginResult = @ftp_login($connection, ユーザーID, パスワード);

//パッシブモードオン
@ftp_pasv($connection, true);

//ファイルをダウンロードし、サーバー(ローカル)へ保存
@ftp_get($connection, ローカルパス, リモートパス, FTP_BINARY);
//ASCIIモードで転送する場合は、【FTP_BINARY】を【FTP_ASCII】へ

//ファイルをアップロードし、サーバー(リモート)へ保存
@ftp_put($connection, リモートパス, ローカルパス, FTP_ASCII);
//ASCIIモードで転送する場合は、【FTP_ASCII】を【FTP_BINARY】へ

//いらなくなったファイルを削除
@ftp_delete($connection, 削除するファイルのパス);

//接続を閉じる
@ftp_close($connection);

ここで、ftpの転送モード、バイナリモードとASCIIモードについて。
バイナリモードの場合はまったく同じファイルとして転送しますが、テキストのASCIIモード転送の場合はOS側で異なる改行コードを自動的に修正してくれます。
ftpでファイルをアップロード、ダウンロードする場合はどちらかを選べます。

※ サーバーにPHPのftpモジュールが組み込まれていないと使えません。
  私の使っているレンタルサーバーはオプションなので、自分でphp.iniを設定しました。
2010年02月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28
先月
来月
カテゴリ
関連サイト
プロフィール
【ネットネーム】
みゅー

キャラクター by ツカエルサイト


【趣味】
・プログラミング
・写真
・楽器演奏
・手芸
・考えること
・自然科学
・猫と戯れる
・ジグソーパズル

【仕事】
・派遣社員でSE・PGやってます。やっと派遣期間が終了し、ビジネスへ注力しようかと思っています。
・経験言語:VB6、VB.NET、PHP、Perl、JAVA、Oracle、SQLServer、PostgreSQL

RSSフィールド