Das ganze scheint wohl an der Erstellung der Zip-Datei zu liegen, denn wenn ich nur die Schleife laufen lasse, ohne die Zipfunktion, dann wird korrekt um 1 erhöht.
ggf gibs in der zip-klasse irgendetwas, welches den counter-wert überschreibt
allerdings ist es sehr seltsam, dass die while-schleife 2x durchläuft, wegen dieser zip-klasse
übrigens, $counter = $counter++; funktioniert nicht - du solltest nur $counter++; schreiben ;)