0

2 番目の ftp アカウントでファイルを抽出したいですか?

このスクリプトを試しましたが、うまくいきません:

$zip = new ZipArchive;
$zip->open('ftp://user:password@host/tmp/file.zip'); 
$zip->extractTo('ftp://user:password@host/public_html/'); 
$zip->close();

デバッグしようとして、次を追加しました。

$zip = new ZipArchive;
$res = $zip->open('ftp://user:password@host/tmp/file.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('ftp://user:password@host/public_html/');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}

これから、$zip->openコマンドがエラーコードで失敗していることを発見しました11

さらにデバッグするために何をすべきかわかりません。何が間違っているのかについて何か提案はありますか?

4

1 に答える 1

0

ftp_get()ファイルを操作する前に、 を使用してローカルでファイルを取得することができます。

$conn_id = ftp_connect( 'host' );
$login_result = ftp_login($conn_id, 'user', 'password');
if (ftp_get($conn_id, 'file.zip', 'tmp/file.zip', FTP_BINARY)) {
    // Success! File is now at local "file.zip"

    $zip = new ZipArchive;
    $zip->open( 'file.zip' ); 
    $zip->extractTo('ftp://user:password@host/public_html/'); 
    $zip->close();

} else {
    echo "There was a problem\n";
}

ftp_close($conn_id);
于 2013-10-29T23:14:10.980 に答える