witam,

banalna sprawa, ponizszy plik pakuje mi wszystkie pliki z folderu "../temp/"
do pliku .zip, a nastepnie plik ten laduje w folderze "zip"

wszystko ok, tylko po rozpakowaniu zipa,
znajduje sie w nim folder "temp" (i dopiero on zawiera spakowane pliki)
(jednym slowem w pliku "zip" maja byc pliki bez zadnego folderu nadzedznego)

pewnie trzeba gdzies usunac "src" ale nie znam sie na php i zanim do tego dojde
to minie ze 2godziny winksmiley.jpg

  1. function compress($src,$zipName)
  2. {
  3. if(substr($src,-1)==='/'){$src=substr($src,0,-1);}
  4. $arr_src=explode('/',$src);
  5. $filename=end($src);
  6. unset($arr_src[count($arr_src)-1]);
  7. $path_length=strlen(implode('/',$arr_src).'/');
  8. $f=explode('.',$filename);
  9. $filename = $f[0];
  10.  
  11. $filename='../zip/'.$zipName;
  12. $zip = new ZipArchive;
  13. $res = $zip->open($filename, ZipArchive::CREATE);
  14. if($res !== TRUE){
  15. echo 'Error: Unable to create zip file';
  16. exit;}
  17. if(is_file($src)){$zip->addFile($src,substr($src,$path_length));}
  18. else{
  19. if(!is_dir($src)){
  20. $zip->close();
  21. @unlink($filename);
  22. echo 'Error: File not found';
  23. exit;}
  24. recurse_zip($src,$zip,$path_length);}
  25. $zip->close();
  26. //delete_directory("../temp");
  27.  
  28. }
  29.  
  30. $zipName = $_POST['zipName'];
  31. $src = "../temp/";
  32. compress($src,$zipName);
  33.