Задать вопрос
@9StarRu

Как разархивировать .zip архив в созданную папку на сервере?

Есть код, который создает папку и файл в ней после получения post данных:

//определяю ID и User ID из POST данных
$ID = $_POST['id'];
$User_ID = $_POST['username'];

//Создаю дирректорию сайта - папку
$dir = mkdir("/var/www/site/data/www/subdomains.site.org/domains/$ID", 0755);

//Создаю файл в папке
$file = "/var/www/site/data/www/subdomains.site.org/domains/$ID/index.php";
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем новую запись в файл
$current = "<?php echo $ID; ?>";
// Пишем содержимое обратно в файл
file_put_contents($file, $current);


header('Location: /$ID');


Безопасно, так, чтобы пользователь не мог получить ftp и/или другие данные, можно вместо файла в папке, разархивировать в эту папку .zip архив, чтобы при переходе в данную папку, срабатывал скрипт cms которая изначально находилась в архиве?
Если это можно реализовать, то как?
Что будет, если пользователь перейдет по адресу папки, а архив еще не успеет разархивироваться?
Как лучше реализовать подобную задачу?

Спасибо!
  • Вопрос задан
  • 238 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Создать временную папку и распаковать туда, а потом эту папку переименовать.
Если в пределах одного диска, то операция перемещения директории поидее атомарна и оказаться в полураспакованном состоянии не сможет (в полураспакованном будет только во временной папке)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽