その他サービスFTP関数
- ftp_chdir〔FTPサーバー上でディレクトリ移動〕
- ftp_close, ftp_quit〔FTP接続を閉じる〕
- ftp_connect〔FTP接続を確立する〕
- ftp_get〔FTPサーバーからファイルをダウンロード〕
- ftp_login〔FTPサーバーにログインする〕
- ftp_mkdir〔FTPサーバー上にディレクトリ作成〕
- ftp_put〔FTPサーバーにファイルをアップロードする〕
- ftp_pwd〔カレントディレクトリ名を取得〕
- ftp_rename〔FTPサーバー上のファイルまたはディレクトリ名を変更〕
- ftp_rmdir〔FTPサーバー上のディレクトリ削除〕
- ftp_size〔ファイルサイズ取得〕
ftp_chdir
FTPサーバー上でディレクトリ移動
unknown
カレントディレクトリを、移動先ディレクトリへ移動します。 成功した場合にTRUEを返します。 失敗した場合にFALSEを返し、E_WARNINGレベルのエラーが発生します・
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
//FTP接続確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//接続確認
if((!$conn_id) || (!$login_result)){
die("FTP接続失敗!");
}
echo "カレントディレクトリは「" . ftp_pwd($conn_id) . "」です<br>\n";
//カレントディレクトリを $otherDir に移動
if (ftp_chdir($conn_id, "otherDir")) {
echo "現在のカレントディレクトリは、「" . ftp_pwd($conn_id) . "」です<br>\n";
} else {
echo "ディレクトリを移動できません<br>\n";
}
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_close, ftp_quit
FTP接続を閉じる
unknown
bool ftp_quit ( resource 接続ID )
ftp_quit()関数は、この関数のエイリアスです。
指定した接続IDを閉じ、リソースを開放します。 リソース開放が成功した場合にTRUE、失敗した場合にFALSEを返します。
この関数をコール後にFTP接続を利用するには、ftp_connect()関数で新しい接続を確立する必要があります。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
//FTP接続確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//接続確認
if ((!$conn_id) || (!$login_result)){
die("FTP接続失敗!");
}else{
echo "ユーザー $ftp_user_name として、 $ftp_server 接続しました<br>\n";
}
//現在のディレクトリを表示
echo ftp_pwd($conn_id);
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_connect
FTP接続を確立する
unknown
ホストへのFTP接続を確立します。 FTP接続が成功した場合に接続ID、失敗した場合にFALSEを返します。
ホストは、FTPサーバーのアドレスを指定します。
最後のスラッシュ/
や最初のftp://
は付けません。
オプションの第2引数ポート番号は、接続先のポートを指定します。 省略または0を指定した場合は、デフォルトのFTPポート21が使用されます。
オプションの第3引数タイムアウト(PHP4.2.0~)は、以降のネットワーク操作のタイムアウトを指定します。 省略した場合は、デフォルトの90秒が使用されます。
<?
//FTPサーバー名
$ftp_server="ftp.mydomain.net";
//FTP接続を確立し、接続できなかった場合はFTP接続を終了する。
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
?>
ftp_get
FTPサーバーからファイルをダウンロード
unknown
FTPサーバーからリモートファイルをダウンロードし、ローカルファイルとして保存します。 成功した場合に接続ID、失敗した場合にFALSEを返します。 ローカルファイルが既に存在する場合は、上書きされます。
第4引数転送モードには、FTP_ASCII(アスキーモード)またはFTP_BINARY(バイナリモード)のどちらかを指定します。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
$local_file = 'local.zip'; //ダウンロード先のファイル名
$server_file = 'server.zip'; //ダウンロード元のファイル名
//FTP接続確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// $server_file をダウンロードし、$local_file へ保存
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "$local_file をダウンロードしました<br>\n";
} else {
echo "ダウンロード失敗!<br>\n";
}
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_login
FTPサーバーにログインする
unknown
指定した接続IDで、FTPサーバーにログインします。成功した場合にTRUEを返します。 失敗した場合にFALSEを返し、E_WARNINGレベルのエラーが発生します。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
//FTP接続を確立し、接続できなかった場合はFTP接続を終了する。
$conn_id = ftp_connect($ftp_server) or die("FTP接続失敗!");
//ユーザ名とパスワードでログイン
if (@ftp_login($conn_id, $ftp_user_name, $ftp_user_pw)) {
echo "ログイン失敗!<br>\n";
} else {
echo "$ftp_user としてログインしました<br>\n";
}
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_mkdir
FTPサーバー上にディレクトリ作成
unknown
FTPサーバー上に、作成するディレクトリ名で指定したディレクトリを作成します。 成功した場合にTRUE、失敗した場合にFALSEを返します。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
$newDir = 'test'; //作成するディレクトリ名
//FTP接続を確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//ディレクトリ作成
if (ftp_mkdir($conn_id, $newDir)) {
echo "$newDir ディレクトリの作成に成功しました<br>\n";
} else {
echo "ディレクトリ作成失敗!<br>\n";
}
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_put
FTPサーバーにファイルをアップロードする
unknown
ローカルファイルを、FTPサーバーにアップロードします。 アップロードが成功した場合にTRUE、失敗した場合にFALSEを返します
第4引数転送モードには、FTP_ASCII(アスキーモード)またはFTP_BINARY(バイナリモード)のどちらかを指定します。
<?
//FTPサーバーにローカルファイルをアップロードする
//FTP_Upload(FTPサーバー名,ユーザー名,パスワード,リモートファイルパス,ローカルファイルパス,転送モード)
//
function FTP_Upload($ftp_server,$ftp_user_name,$ftp_user_pw,$remote_file,$local_file,$mode){
//FTPサーバーに接続
$conn_id = @ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//接続確認
if ((!$conn_id) || (!$login_result)) {
return die("FTP接続失敗!");
} else {
echo "ユーザー $ftp_user_name として、 $ftp_server に接続しました<br>\n";
}
//ローカルファイルをアップロード
$upload = @ftp_put($conn_id, $remote_file, $local_file, $mode);
// アップロード状況を確認する
if (!$upload) {
return die("アップロード失敗!");
} else {
echo "$local_file を $remote_file へ アップロードしました<br>\n";
}
//FTP接続終了
ftp_close($conn_id);
return true;
}
//FTPサーバー名
$ftp_server="ftp.mydomain.net";
//ユーザー名
$ftp_user_name="username";
//パスワード
$ftp_user_pw="password";
//アップロード先のリモートファイルのパス
$remote_file="test_upload.txt";
//アップロードするローカルファイルのパス
$local_file="test.txt";
//転送モード
$mode=FTP_ASCII;
FTP_Upload($ftp_server,$ftp_user_name,$ftp_user_pw,$remote_file,$local_file,$mode);
?>
ftp_pwd
カレントディレクトリ名を取得
unknown
成功した場合にカレントディレクトリ名、失敗した場合にFALSEを返します。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
//FTP接続確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//public_html ディレクトリに移動
ftp_chdir($conn_id, 'public_html');
//カレントのディレクトリ名を表示
echo ftp_pwd($conn_id); // /public_html
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_rename
FTPサーバー上のファイルまたはディレクトリ名を変更
unknown
FTPサーバー上のファイル名やディレクトリ名をoldname → newnameに変更します。 成功した場合にTRUE名、失敗した場合にFALSEを返します。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
$old_file = 'somefile.txt.bak'; //古いファイルまたはディレクトリ名
$new_file = 'somefile.txt'; //新しいファイルまたはディレクトリ名
//FTP接続確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//$olf_file を $new_file に変更
if (ftp_rename($conn_id, $old_file, $new_file)) {
echo "$old_file を $new_file にリネームしました<br>\n";
} else {
echo "リネーム失敗!\n";
}
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_rmdir
FTPサーバー上のディレクトリ削除
unknown
FTPサーバー上から、削除するディレクトリ名で指定したディレクトリを削除します。 成功した場合にカレントディレクトリ名、失敗した場合にFALSEを返します。
第2引数削除するディレクトリ名は、絶対パスでも相対パスでもかまいません。 ただし、削除するディレクトリは空にしておく必要がある必要があります。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
//削除するディレクトリ名
$deleteDir = 'test';
//FTP接続確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//ディレクトリ削除
if (ftp_rmdir($conn_id, $deleteDir)) {
echo "$deleteDir を削除しました<br>\n";
} else {
echo "ディレクトリ削除失敗!<br>\n";
}
//FTP接続を閉じる
ftp_close($conn_id);
?>
ftp_size
ファイルサイズ取得
unknown
リモートファイルで指定したファイルサイズをバイト数で返します。 成功した場合にファイルサイズのバイト数、失敗した場合に-1を返します。
サーバーによって、この機能が制限されていて使えない場合があります。
<?
$ftp_server="ftp.mydomain.net"; //FTPサーバー名
$ftp_user_name="username"; //ユーザー名
$ftp_user_pw="password"; //パスワード
$file = 'somefile.txt'; //ファイル容量を調べたいFTPサーバー上のファイル
//FTP接続確立
$conn_id = ftp_connect($ftp_server);
//ユーザ名とパスワードでログイン
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pw);
//$file のファイル容量を取得
$res = ftp_size($conn_id, $file);
if ($res != -1) {
echo "$file のファイル容量は、 $res バイトです<br>\n";
} else {
echo "ファイル容量取得失敗!<br>\n";
}
//FTP接続を閉じる
ftp_close($conn_id);
?>