Gracias Patriarka!
Voy a tener en cuenta lo de la memoria...
El script es el siguiente:
Código PHP:
function grabarCartas() {
// Vemos si existe el archivo zip. Si existe lo eliminamos.
$a = file_exists("misBackups/backupMagic.zip");
if($a) {
unlink("misBackups/backupMagic.zip");
}
// nombre del archivo de la base de datos
$nombreArchivo = "magic_bd.sql";
$zip = new ZipArchive();
$arch = "misBackups/backupMagic.zip";
// Leemos el directorio cartas
$conexDir = opendir("../imagenes/cartas");
$elemento = array();
while($file = readdir($conexDir)) {
if(($file != '.') && ($file != '..')) {
$elemento[] = $file;
}
}
closedir($conexDir);
// Agregamos las cartas al zip.
if($zip->open($arch,ZIPARCHIVE::CREATE) === true) {
// Primero insertamos el archivo de la Base de Datos
$zip->addFile("misBackups/".$nombreArchivo, $nombreArchivo);
$zip->addEmptyDir("cartas");
for($i=0;$i<count($elemento);$i++) {
$zip->addFile("../imagenes/cartas/".$elemento[$i],"cartas/".$elemento[$i]);
}
$zip->close();
// elimino el archivo de la base de datos
unlink("misBackups/".$nombreArchivo);
return true;
}
else return false;
}
Muchas gracias!