プロが教える店舗&オフィスのセキュリティ対策術

phpのftp関数でサーバーから他のサーバーにファイルをアップロードする方法が
上手くいかずに困っております。
どなたかご教授ください。
宜しくお願いいたします。

A 回答 (2件)

ANo.1です。



補足説明ありがとうございました。
それで、例示されたスクリプトのどこまでが正常に実行されるのでしょうか(具体的にどのような実行結果が得られるのか)?
また、ftp_chdir()が成功しているならばFTP サーバ上でのディレクトリ移動は成功していることになります。
それとエラーメッセージは何も出力されていないのでしょうか、設定によりエラーメッセージが出力されないようになっている場合もあるのでこの点も確認したほうがよさそうです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
無事解決いたしました。

お礼日時:2010/02/19 15:19

まずはどの辺が上手くいっていないのかを示されてはどうでしょうか。


今のままでは漠然としすぎて回答も得られにくいかと思います。

この回答への補足

下記のようにしているのですが、ディレクトリの移動まではできていて
送る先のサーバーのディレクトリが違うのかアップロードできませんでした。アップ先のディレクトリを下のディレクトリに移動することも可能なのでしょうか?

$ftp_server="サーバー名";
$ftp_user_name="ユーザー";
$ftp_user_pass="パスワード";

//サーバーに接続する
$conn_id = ftp_connect($ftp_server);

// ユーザ名とパスワードでログインする
$login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);

// 接続できたか確認する
if((!$conn_id) || (!$login_result)){
echo "FTP接続に失敗しました。";
exit;
} else {
echo "FTP接続に成功しました。";
}

if(ftp_chdir($conn_id,"common/img")){
echo "現在のカレントディレクトリは、「" . ftp_pwd($conn_id) . "」です<br />\n";
} else {
echo "ディレクトリを移動できません<br />\n";
}

// カレントディレクトリの内容を得る
$contents = ftp_nlist($conn_id,".");
// $contents を出力する
var_dump($contents);


$local_file="error.gif";
$remote_file="error.gif";

if(!ftp_put($conn_id,$remote_file,$local_file,FTP_BINARY)){
echo "FTPアップロードに失敗しました。";
exit;
} else {
echo "FTPアップロードに成功しました。";
}
ftp_close($conn_id);

補足日時:2010/02/11 09:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!