Как распаковать папку и удалить архивированный оригинал? - PullRequest
1 голос
/ 10 мая 2010

Я создаю что-то вроде простого установщика \ установщика для моей CMS.Когда пользователь загружает .zip с моей CMS и распаковывает его в какую-то папку на своем php-сервере, он видит файл - install.php и папку zip с именем - Contents.zip. Мне нужна функция php для извлечения файлов из этого zip-файла Contents.zipи чем удалить этот файл.(Если это возможно, я хочу дать разные права на файлы / папки, извлеченные из него сразу после распаковки папки)

Как это сделать?

1 Ответ

2 голосов
/ 10 мая 2010

вы можете использовать PHP ZipArchive Library для вашей цели.

также пример кода из документации , который может оказаться полезным.

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>

для изменения прав доступа к файлам вы можете использовать PHP встроенную функцию chmod.

например

chmod("/somedir/somefile", 0600);

чтобы удалить файл, который вы можете использовать, php, встроенный unlink

например,

unlink('test.html');
unlink('testdir');

Я бы настоятельно рекомендовал вам пройти официальную документацию по PHP.

...