Witam

Mam mały problem z tworzeniem archiwum ZIP. Mam następujący kod:

  1. //ZIP
  2. $archiwum = JURI::root(true) . "/tmp/".$nazwa_pliku_xml.".zip";
  3.  
  4. $zip = new ZipArchive;
  5. if($zip->open($archiwum, ZIPARCHIVE::CREATE) === TRUE)
  6. {
  7. ///test15/tmp/xyz_20120112_1509_28.xml
  8. $zip->addFile(JURI::root(true) . "/tmp/".$nazwa_pliku_xml.".xml");
  9.  
  10. for($x = 0; $x < count($image); $x++)
  11. {
  12. ///test15/tmp/28_01.jpg, /test15/tmp/28_02.jpg, /test15/tmp/28_03.jpg
  13. $zip->addFile(JURI::root(true) . "/tmp/".$image[$x]->nazwa);
  14. }
  15.  
  16. $zip->close();
  17.  
  18. }


Zmienne posiadają takie dane:

$archiwum = /test15/tmp/xyz_20120112_1509_28.zip

W komentarzach podałem jak wygląda faktyczny link do pliku. Pliki które odczytuję są na serwerze FTP i tak samo plik php, z którego wykonywany jest dany kod. Problem polega na tym, że po dodaniu tych plików do archiwum (gdzie archiwum tworzne jest tak samo w katalogu /tmp), plik posiada przykładowo wielkość 1 MB (ten zip), ale jak przegram go na dysk i chcę otworzyć pokazuje jako pusty. Ogólnie to archiwum jest uszkodzone. Wygląda na to, że pliki te są ładowane do tego zipa, ale jest uszkodzony. Nie mam w ogóle pomysłów o co tutaj może chodzić.

Proszę o wszelkie wskazówki co może być przyczyną. Zastanawiałem się czy czasami zip nie zdąży się w pełni utworzyć, możliwe że plik php kończy swe działanie, ale funkcje typu flush() nie pomagają aby opróżnić bufory.