ユーザーが自分のサイトのZIPアーカイブにポートフォリオをアップロードできるようにしています。
問題は、ほとんどのアーカイブが次のフォルダ構造を持っていることです。
zipfile.zip
- zipfile
- file1.ext
- file2.ext
- file3.ext
ファイル(ディレクトリではなく)を自分のサイトに配置する方法はありますか(ポートフォリオのフォルダー構造は次のようになります)
user_name
- portfolio
- file1.ext
- file2.ext
- file3.ext
現在、次のようにアップロードしています。
user_name
- portfolio
- zipfile
- file1.ext
- file2.ext
- file3.ext
これはあらゆる種類の問題を引き起こします!
私はこれをやってみました:
$zip = new ZipArchive();
$zip->open($_FILES['zip']['tmp_name']);
$folder = explode('.', $_FILES['zip']['name']);
end($folder);
unset($folder[key($folder)]);
$folder = (implode('.', $folder));
$zip->extractTo($root, array($folder));
$zip->close();
無駄に。