Привет мне нужно скачать ZIP-файл с помощью FTP и затем разархивировать его на локальном компьютере. Я могу загрузить файл с помощью ftp_get, но мне нужна помощь в разархивировании его в определенное место.
$ftpServer = "server";
$ftpUser = "user";
$ftpPassword = "password";
$ftp_server = $ftpServer;
$ftp_conn = ftp_connect($ftp_server);
$ftp_login = ftp_login($ftp_conn, $ftpUser, $ftpPassword );
if(!$ftp_conn)
die("A connection to $ftpServer couldn't be established");
else if(!$ftp_login)
die("Your login credentials were rejected");
else
{
$file = "C:/files/downloads/FILE_NAME.ZIP";
$server_file = "/FILE_NAME.ZIP";
if (ftp_get($ftp_conn, $file, $server_file, FTP_ASCII))
{
$zip = new ZipArchive;
$res = $zip->open($file);
if ($res === TRUE)
{
$zip->extractTo('C:/files/Feeds/');
$zip->close();
}
unlink($file);
}
else
{
echo "There was a problem\n";
$this->index();
}
}
Спасибо за помощь.
Попробуйте с этим кодом
Unzip.php: —
<?php
$zip = new ZipArchive;
if ($zip->open('/sites/gallery.zip') === TRUE) {
$zip->extractTo('/sites/New folder/test');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
Для вашей справки смотрите эту ссылку Документация
Вы можете использовать класс ZipArchive для этого
$archive = new ZipArchive;
if ($archive->open('my_zip_fil.zip') === TRUE) {
$archive->extractTo('destination/dir');
$archive->close();
}