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.
<?php
// Even if the file exists, zip_open() will return an error code.
$file = 'file.zip';
$zip = zip_open($file);
// The workaround:
$file = getcwd() . '/file.zip';
// Or:
$file = 'C:\\path\\to\\file.zip';
?>
This worked for me on Windows at least. I'm not sure about other platforms.
zip_read
(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)
zip_read — Lee la siguiente entrada de un archivo en formato Zip
Descripción
resource zip_read
( resource $zip
)
Lee la siguiente entrada de un archivo en formato Zip.
Lista de parámetros
- zip
-
Este parámetro debe ser un apuntador válido obtenido mediante la función zip_open().
Valores retornados
Devuelve una entrada de directorio válida para su uso con cualquiera de las funciones zip_entry_...() o FALSE si ya no hay mas entradas para leer en el archivo en formato Zip.
zip_read
nico at nicoswd dot com
29-Sep-2007 10:29
29-Sep-2007 10:29
