Cudny pytam się po raz kolejny:
switch(true)
Totalny bezsens. Do switch zapodaje się zmiennej a nie TRUE. TO zawsze jest prawdziwe. Robisz switch potem w case walisz warunki. Po co? To co zrobiles robi się IFem a nie switch.
Poza tym to zwraca zmienna to do tego sluzy VAR_DUMP() a nie zadne kombinowanie.
Co do problemu głównego:
na innnym serwerze nie udaje się rozpakować, stad masz takie rzeczy jakie masz.
Cytat
rozpakuj = (boolean) $zip->extractTo(dirname(__FILE__).'/');
if($rozpakuj !== TRUE)
die('nie udalo sie rozpakowac: '.$rozpakuj);
daje
Cytat
nie udalo sie rozpakowac:
To pokazuje wyraźnie, że nie można rozpakować.
Zaś to:
if($rozpakuj = $zip->extractTo(dirname(__FILE__).'/') !== TRUE)
die('nie udalo sie rozpakowac: '.$rozpakuj);
Daje ci w rezultacie 1 bo:
extractTo zwraca false. W efekcie masz taki warunek:
if($rozpakuj = false !== TRUE)
A to kolejnosc wykonywania:
1)false !== TRUE to daje true
2) if($rozpakuj =true)
3) warunek spelnionu, rozpakuj ma true w efekcie widzisz ze sie nie udalo i masz 1. Proste i logiczne
Chcesz miec prawidlowo, to uzyj nawiasow (o czym już dawno wspominał ci Crozin) a na przyszlosc poczytaj o kolejnosci wykonywania zadan
if(($rozpakuj = $zip->extractTo(dirname(__FILE__).'/')) !== TRUE)
die('nie udalo sie rozpakowac: '.$rozpakuj);
Czyli jeszcze raz na koniec:
na drugim serwerze poprostu nie udaje się rozpakować. Tyle w temacie.