0
I can’t create a zip in Debian even with permission 777 folder, and the worst is that it returns no error.
Code I use to create zip:
function Compress($source_path, $chave)
{
// Normaliza o caminho do diretório a ser compactado
$source_path = realpath($source_path);
// Caminho com nome completo do arquivo compactado
// Nesse exemplo, será criado no mesmo diretório de onde está executando o script
$zip_file = DIR_ARQUIVOS.$chave.'.zip';
// Inicializa o objeto ZipArchive
$zip = new ZipArchive();
$zip->open($zip_file, ZipArchive::CREATE | ZipArchive::OVERWRITE);
// Iterador de diretório recursivo
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($source_path),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file) {
// Pula os diretórios. O motivo é que serão inclusos automaticamente
if (!$file->isDir()) {
// Obtém o caminho normalizado da iteração corrente
$file_path = $file->getRealPath();
// Obtém o caminho relativo do mesmo.
$relative_path = substr($file_path, strlen($source_path) + 1);
// Adiciona-o ao objeto para compressão
$zip->addFile($file_path, $relative_path);
}
}
// Fecha o objeto. Necessário para gerar o arquivo zip final.
$zip->close();
// Retorna o caminho completo do arquivo gerado
return $zip_file;
}
but generates the zip at the end? same empty?
– h3nr1ke
@h3nr1ke No, other than not generating, all code below
Compress
is not executed.– Lucas Caresia
strange, are sure that the call to
Compress($source_path, $chave)
is being executed, right? if you play aecho
in early on, it is visualized?– h3nr1ke
Yes, I do a query before and it works (in addition to all the code you have before), but when it goes after it doesn’t work.
– Lucas Caresia
one thing I had to do to make it work was to install the
sudo apt-get install php7.0-zip
and restart phpservice php7.0-fpm restart
to work properly... but other than that good... I tested it on Ubuntu (Debian-like)– h3nr1ke