Мои пользователи будут архивировать файлы, которые будут выглядеть следующим образом:
TEMPLATE1.ZIP
|--------- UnknownName
|------- index.html
|------- images
|------- image1.jpg
Я хочу извлечь этот файл ZIP следующим образом:
/mysite/user_uploaded_templates/myrandomname/index.html
/mysite/user_uploaded_templates/myrandomname/images/image1.jpg
Моя проблема с UnknownName -Я не знаю, что это такое заранее, и извлечение всего на «базовый» уровень нарушает все относительные пути в index.html
Как я могу извлечь из этого ZIP-файла содержимое из UnknownName?
Есть ли что-нибудь лучше, чем:
1. Extract everything
2. Detect which "new subdidrectory" got created
3. mv newsubdir/* .
4. rmdir newsubdir/
Если на уровне UnknownName более одного подкаталога, я могу отклонить zip-файл этого пользователя.