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_idtrue)){
    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();
?>