First of all, zipping of images makes little sense. Lossy image compression algorithms, such as JPEG, are much more efficient on images than ZIP.
Unzip it before showing. The way to do it one the fly depends on the server-side technology you use. One common part is: your script representing the resource should write an HTTP header with correct
content-type. For example:
Content-Type: image/jpeg
Please see:
http://en.wikipedia.org/wiki/List_of_HTTP_header_fields[
^],
http://en.wikipedia.org/wiki/Internet_media_type[
^].
Basically, you get request for the image (say, quite simply, image name could be a URL parameter you can extract from URL). Your code takes the ZIP file, extracts the file content into the stream (no need to create a file on disk), then writes the HTTP header "Content-Type" followed by the content of this stream.
If you don't use any server-side, unzip the files and store then unzipped on your server.
—SA