2013-09-21 24 views
5

特定のzipファイル(現在は "test.zip")をアップロードするスクリプトを作成しようとしています。私は、このWebサイトで解凍する方法についていくつかの答えを見つけましたが、FTPサーバーで解凍する方法は分かりませんでした。すべてPHPを使用してください。FTPに.zipファイルをアップロードし、PHPを使用して解凍します

現在のコード:

$zip = new ZipArchive; 
$zip->open('test.zip'); 
$zip->extractTo('./'); 
$zip->close(); 

おかげで再び:)

+0

それが解凍を行うだろうように見えること。あなたはプログラムでそれを同様にFTPしたいですか?解凍前または解凍後?解凍されているサーバーに出入りする? – halfer

答えて

4

ジップを解凍する前に、フォームを使用してアップロードすることができます(独自の管理領域を作成しますか?/ localhostのみ?)。私は、画像をアップロードするための私のコードからこれをコピーしただけ HTMLの一部を、.zipファイルをアップロードします:

<form action='file.php' enctype='multipart/form-data' method='post'> 
    <p>Please Upload a ZIP File.</p> 
    <input type='file' name='file'> 
    <input type='submit'/> 
</form> 

PHP一部:

$temp = explode(".", $_FILES["file"]["name"])[1]; //Get the extension 
if($temp == "zip"){ 
    move_uploaded_file($_FILES["file"]["tmp_name"],"unzipme.zip") or die("Couldn't upload. Check permissions and retry."); 
      //Relocate home? 
    header("Location: /"); 
    exit(); 
} 

あなたのディレクトリにアップロードする権限を必要とし、WWW-日付または似たような。

これが役に立ちます。

+0

実際に私はwww-データグループ* –

1

まずサーバーにzipアーカイブをアップロードする必要があります。 PHPで基本的なFTPを行う方法の例です。

http://www.php.net/manual/en/ftp.examples-basic.php

その後、あなたは質問に記載された方法を使用して、サーバー上のファイルを解凍することができるはずです。

+0

Sry私はZIPをアップロードするスクリプトを作成しましたが、マシン上で解凍する必要があるだけです.FTPセッションでこのメソッドを設定する方法はわかりません。 – Beater

+0

@Beater私はあなたが何を構成する必要があるのか​​わかりません。 zipファイルがマシン上にあり、ファイル名がわかっている場合は、解凍するだけです。 –

1

アップロードするマシン上でコマンドまたはプログラムを実行するためのアクセス権、またはURL経由で実行できるスクリプトをアップロードする機能が必要です。 FTPを使用してPHPを実行できるWebサーバーディレクトリにアップロードする場合は、zipアーカイブとunzip.phpファイルをそこにアップロードし、ブラウザにunzip.phpページをロードします。

+0

このアクセス権は一切ありません。これは他の人がPhpBBファイルをFTPディレクトリにアップロードするために作られたものです。お手伝いをしてくれてありがとう – Beater

+0

残念なことに、解凍はunzippingを実行するマシン上で実行する必要があるコマンドです発生する。 SSHまたはtelnetアクセスがなく、FTPアカウントにWebアクセス可能なフォルダが含まれていない場合は、一度起動すると解凍することができません。ただし、zipアーカイブ内のすべてを記述したマニフェストファイルを作成し、必要な場合はそれを送信することもできます。私は実際にWebアクセス可能な場所でない場合、なぜそれらを解凍する必要があるのか​​理解していません。 – wwwslinger

0

これは、コードの下に新しいPHPファイルのコピーを作成し、それを実行して、あなたのFTPで抽出フォルダのためのコードです:

$path = getcwd(); 

$zip = new ZipArchive; 

$res = $zip->open('yourZippedFolder.zip'); 

if ($res === TRUE) { 

    $zip->extractTo($path.'/maunil/'); 

    $zip->close(); 

    echo 'Successfully Extracted'; 

} 

else 
{ 

echo 'failed to Extract'; 

} 
関連する問題