2010-08-02 9 views
6

Estoy al comienzo de intentar escribir un código PHP para ejecutar en una caja Linux en un servidor EC2 que leerá archivos de mi cubo S3, los comprimiré y luego volveré a escribir el archivo zip en el contenedor.PHP ZipArchive ¿Qué significan los valores de estado?

Inmediatamente me encontré con problemas incluso con la creación de un simple archivo zip de algunas imágenes en el disco local de la instancia EC2, estoy usando un script para probar la idea del manual de PHP en línea y también he probado un guión de David Walsh - http://davidwalsh.name/create-zip-php que parece que será genial. Ninguno de los resultados en un archivo zip real y ambos me dan diferentes resultados de estado -

el primer fragmento del manual de php (a la que agrego los $ thisdir variable) -

<?php 
$zip = new ZipArchive(); 
$filename = "test112.zip"; 
$thisdir = "/uploads/"; 
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) { 
    exit("cannot open <$filename>\n"); 
}  
$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n"); 
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n"); 
$zip->addFile($thisdir . "/too.php","/testfromfile.php"); 
echo "numfiles: " . $zip->numFiles . "\n"; 
echo "status:" . $zip->status . "\n"; 
$zip->close(); 
?> 

salida =

numfiles: 2 estado: 11

no veo ningún archivo zip en la carpeta de mi 'subidas'

El segundo trozo de código que intento (ya no quiero enviar el código aquí) - Paso archivos reales y vuelve

El archivo zip contiene 2 archivos con un estado de 0

¿Cuáles son los mensajes de estado. He revisado para ver si tengo las bibliotecas correctas instaladas mirando el resultado de phpinfo(); y bajo el título postal Veo -

postal habilitado
Extensión Versión $ Id: php_zip.c, v 1.1.2.43 18/01/2008 00:51:38 pajoye Exp $
versión 1.8.11 postal
versión 0.8.0 LibZIP compatible

he comprobado los permisos de los archivos PHP archivos con el código estoy ejecutando y que se establece en 777 como es la carpeta que estoy tratando de añadir el ZipArchive a. Sé que esto no debería permanecer en 777.

¿Alguna idea de por qué no puedo ver un archivo zip? ¿Qué significan los valores de estado? ¿Existe un buen tutorial para usar PHP para comprimir archivos en un cubo de Amazon S3? o una buena utilidad para proporcionar esta funcionalidad?

aplausos

+0

¿Ha solucionado el problema? Si es así, ¿podría explicar cómo? Tengo los mismos problemas ... –

Respuesta

1

En mi caso me dieron el código de error 11 al abrir un archivo zip para la lectura . La ruta y los permisos están bien. Acabo de cambiar el SEPARADOR DEL DIRECTORIO de la barra inclinada (\) para avanzar la barra (/) y funcionó. Lo extraño es que las rutas de barra inclinada (/) están en Linux, donde estoy trabajando en Windows Server 2003.

Cuestiones relacionadas