If you get an error like this:
Warning: zip_read() expects parameter 1 to be resource, integer given in xxxxxx on line x
It's because zip_open() failed to open the file and returned an error code instead of a resource. It took me a while to figure out why it failed to open the file, until I tried to use the FULL path to the file.
$file = 'file.zip';
$zip = zip_open($file);
$file = getcwd() . '/file.zip';
$file = 'C:\\path\\to\\file.zip';
This worked for me on Windows at least. I'm not sure about other platforms.