3

PHPを使用してzipを特定のディレクトリに抽出する方法があるかどうかを判断できませんでした。のようなコードを使用する場合

$zip->extractTo("files/");

zipをディレクトリ「files」に抽出し、zipの名前に一致するディレクトリ内にすべてのファイルを配置します。アップロード側がアップロード先のディレクトリの名前を決定できるようにしたくありません。たとえば、「myimg.jpg」を含む「zip.pdf」という zip をアップロードすると、それを抽出すると、その場所は次のようになります。

files/zip/myimg.jpg

私が望むところに

files/myimg.jpg

とにかく、解凍したコンテンツを格納するために ZipArchive に新しいディレクトリを作成させない方法があるかどうか、または解凍したすべてのファイルをループして、解凍が完了したらそれらを移動する必要があるかどうか疑問に思っていました。

4

1 に答える 1

2

最も安全な方法は、zip コンテンツをシャッフルして、各ファイルを個別に処理することです。つまり、一意の一時ディレクトリに解凍し、各ファイルを見て決定します。異なるユーザーのファイルが衝突した場合はどうなりますか? これが盲目的に起こらないようにしてください。

于 2012-07-19T23:13:53.390 に答える