PHPにおいてFTPサーバへ接続後、
ファイルを送信するメモ書きです。
『[PHP]FTPサーバからファイルを取得』の続きになります。
ソースコード
<?php $ftp_server = "hogehoge.com"; $ftp_user = "test_user"; $ftp_pass = "test_pass"; $ftp_target_dir = "/test_dir"; $remote_dir = "/put_file/"; $remote_put_file = "put.txt"; $connect_id = ftp_connect( $ftp_server ); if( ftp_login( $connect_id , $ftp_user , $ftp_pass ) ) { echo "FTPログイン成功"; } else { echo "FTPログイン失敗"; ftp_close( $connect_id ); exit; } if( ftp_chdir( $connect_id , $ftp_target_dir ) ) { echo "ディレクトリ遷移成功 >>> " . ftp_pwd( $connect_id ); # No.01 if( ftp_put( $connect_id , $remote_put_file , "{$remote_dir}{$remote_put_file}" , FTP_BINARY ) ) { echo "File送信成功"; } } else { echo "ディレクトリ遷移失敗"; ftp_close( $connect_id ); exit; } ftp_close( $connect_id ); ?>
解説
# No.01
ローカルファイルを送信するPHP関数は[ftp_put]です。
第一引数にはサーバにFTPコネクションをしている変数[$connect_id]、
第二引数には送信後のファイルの保存名を、
第三引数には送信するリモートファイルのディレクトリを、
第四引数には転送モードをそれぞれ指定します。
今回の例ではカレントディレクトリを移動してあるのでルートは省略してます。
また、第四引数には【FTP_BINARY】か【FTP_ASCII】を指定できます。