2011-08-17 12 views
3

スクリプトをサーバー上に解凍しましたが、外部またはリモートサーバー上のファイルを解凍することは可能です。例えばリモートサーバー上の.zipを解凍できますか?

私は

<?php 
$zip = new ZipArchive; 
$zip->open('ftp://user:[email protected]/path/file.zip'); 
$zip->extractTo('ftp://user:[email protected]/'); 
$zip->close(); 
echo "Ok!"; ?> 

どうもありがとう

+0

をプログラム(サーバーにファイルをコピーして抽出を確認しますSHD )、それを解凍します。 –

+0

私は、あるサーバーから別のサーバーにファイルを転送し、それを抽出するスクリプトを動的に構築したいと考えていました。 – user827570

+1

はい、ファイルを解凍する前に、ファイルをサーバーにコピーする前に1行のコードを追加してください。 '' $ zip-> open( 'file.zip'); ' –

答えて

2

を行くことができますあなたは、そのサーバーへのssh接続を介して次のことを試みることができる:ここ

<?php 
$connection = ssh2_connect('example.com', 22); 
ssh2_auth_password($connection, 'username', 'password'); 
$stream = ssh2_exec($connection, 'unzip /path/to/file.zip'); 
?> 

さらに詳しい情報: http://www.php.net/manual/en/function.ssh2-exec.php

+0

ご回答いただきありがとうございますが、上記のコードを実行する際に問題が発生しました。「2行目の未定義関数ssh2_connect()を呼び出す」 – user827570

+0

PHPをSSHサポートでコンパイルする必要があります。 –

+0

私はPHPに非常に精通していませんが、http://www.phpを読むことをおすすめします。net/manual/en/function.ssh2-exec.phpを実行し、サーバにsshを設定してポート/ユーザ名/パスワードを確認してください。 – sbrichards

2

PHPを使用してサーバー上のリモートファイルを解凍する私の仕事ではなく、単純な解決策は以下のとおりです。

  1. ftpのzipファイルには、あなたはそれがPHPファイルunzip.phpを作成し、同じにそれをftpで転送

  2. を抽出するリモートフォルダに、a.zipを言います

  3. 上記のzipファイルとフォルダがunzip.phpに次のコードを挿入します。

任意のブラウザからPHPファイルを実行

  • を実行可能ファイルにunzip.php

    1. セットchmodコマンド - あなたは 'OK' は

  • 関連する問題