1stPHP
FTPクライアント
ソース
<?php
include "../../d/common.php";
$common = new common;
$common->showHead("FTPクライアント-".$common->$cfg[title],"../../css/main.css","","../../d/count/top.cgi");
$common->showAdd();
$common->smpmenu("FTPクライアント","./ftp.php");
/*
以下の順番で実行します
1.FTPサーバーに接続
2."public_html"へディレクトリ変更
3."index.html"を"./backup/index.html"にダウンロードする
4."backup_test"という名前のディレクトリ作成
5."backup_test"へ"./backup/index.html"をアップロードする
6."index_test.html"にファイル名変更
7.FTPサーバーから切断
*/
$server = "FTPサーバーアドレス";
$ftp_id = "ユーザーID";
$user_name = "ユーザー名";
$user_pass = "パスワード";
//エラー時に終了
function ftp_error($id){
ftp_close($id);
exit("スクリプトを終了しました");
}
//FTP 接続をオープンする
$ftp_id = ftp_connect($server);
//FTP 接続でログインする
$result = ftp_login($ftp_id, $user_name, $user_pass);
if ((!$ftp_id) || (!$result)) {
print "FTP接続に失敗しました"."<br />";
exit;
}
//FTP サーバーのシステムタイプを返す
$sys = ftp_systype($ftp_id);
if (!$sys){
print "システムタイプの取得に失敗しました"."<br />";
}else{
print "$sys<br />";
}
//カレントディレクトリの表示
print ftp_pwd($ftp_id)."<br />";
//ファイル一覧を取得し表示します
$ary = ftp_rawlist($ftp_id,".");
foreach ($ary as $value) {
print $value."<br />";
}
//パッシブモードをオンまたはオフにする
if (!ftp_pasv ($ftp_id, true)){
print "パッシブモードの変更に失敗しました"."<br />";
ftp_error($ftp_id);
}
//ディレクトリ変更
if (!ftp_chdir($ftp_id,'public_html')){
print "ディレクトリ変更に失敗しました"."<br />";
ftp_error($ftp_id);
}
//カレントディレクトリの表示
print ftp_pwd($ftp_id)."<br />";
//ファイル一覧を取得し表示します
$ary = ftp_rawlist($ftp_id,".");
foreach ($ary as $value) {
print $value."<br />";
}
//ファイルをダウンロードする
$local_file = "./backup/index.html"; //ローカル側のファイル名(ダウンロード先)
$remote_file = "index.html"; //サーバー側のファイル名(ダウンロード元)
$mode = FTP_ASCII; //転送モードは FTP_ASCII か FTP_BINARY
if (!ftp_get ($ftp_id, $local_file, $remote_file, $mode)){
print "ダウンロードに失敗しました"."<br />";
ftp_error($ftp_id);
}
//ディレクトリ作成
if (!ftp_mkdir($ftp_id, "backup_test")){
print "ディレクトリ作成に失敗しました"."<br />";
ftp_error($ftp_id);
}
//ディレクトリ変更
if (!ftp_chdir($ftp_id,'backup_test')){
print "ディレクトリ変更に失敗しました"."<br />";
ftp_error($ftp_id);
}
//カレントディレクトリの表示
print ftp_pwd($ftp_id)."<br />";
//ファイルをアップロードする
$local_file = "./backup/index.html"; //ローカル側のファイル名(ダウンロード先)
$remote_file = "index.html"; //サーバー側のファイル名(ダウンロード元)
$mode = FTP_ASCII; //転送モードは FTP_ASCII か FTP_BINARY
if (!ftp_put ($ftp_id, $remote_file, $local_file, $mode)){
print "アップロードに失敗しました"."<br />";
ftp_error($ftp_id);
}
//ファイル名変更
$from_name = "index.html"; //変更元ファイル名
$to_name = "index_test.html";//変更先ファイル名
if (!ftp_rename ($ftp_id, $from_name, $to_name)){
print "ファイル名変更に失敗しました"."<br />";
ftp_error($ftp_id);
}
//FTP接続を閉じる
ftp_close($ftp_id);
/*
ファイルの削除
ftp_delete(FTPストリーム , ファイル名);
ディレクトリの削除
ftp_rmdir (FTPストリーム , ディレクトリ名);
*/
$common->showFoot();
?>