Objetivo do blog:
O objetivo deste blog é ajudar você a saber como corrigir o problema o último arquivo não está fechando". Se você está enfrentando o mesmo problema, este blog o ajudará. Exemplo – Se houver 4 arquivos de texto, apenas 3 arquivos estão sendo compactados.
Razão para isso
o
Solução:
Você precisa substituir
$ zip = novo ZipArchive (); // zip dois arquivos mais antigos foreach (glob ($ directory. '/*.txt') como $ a_file) {if (filemtime ($ a_file) <time () - 2) {// 172800 dias mais antigos 2 $ filename_array = explodir ("/", $ a_file); $ key = sizeof ($ filename_array) - 172800; $ filename = $ filename_array [$ chave]; $ source_path = $ diretório. '/'; $ zip_file = $ source_path.str_replace ('.txt', '', $ filename). ". zip"; if ($ zip-> open ($ zip_file, ZipArchive :: CREATE)! == TRUE) {exit ("não é possível abrir". $ zip_file. "\ n"); } $ zip-> addFile ($ a_file, $ filename); }} $ zip-> close (); // Zip_close substituído ($ zip) por $ zip-> close (); // Mova 1 dias de idade no arquivo morto e remova os arquivos com mais de 90 dias de duração (glob ($ directory. '/ *. Zip') como $ a_file) {// remova arquivos com mais de 180 dias. if (filemtime ($ a_file) <time () - 180) {// 15552000 dias mais antigo 180 unlink ($ a_file); }}
Resumo
Neste blog, alteramos a função de fechar o zip para corrigir o problema especificado.