J'ai un script pour télécharger un dump de ma base de données, mais le fichier devient gros. J'ai essayé de le compresser avec :
$dump = `mysqldump -u $username -p$password $dbname`;
$fp = fopen('php://temp', 'r+');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, array('level' => 9));
fputs($fp, $dump);
rewind($fp);
//Envoi du "fichier"
$this->setLayout(false);
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: SQL Dump");
header('Content-Disposition: attachment; filename="mydump.sql.zip"');
$this->fichier = stream_get_contents($fp);
Mais cela crée un fichier zip invalide. Est-ce que quelque chose m'échappe ?
EDITAR
Il doit y avoir un problème dans les en-têtes aussi, Firefox montre le fichier comme "document HTM", et je ne peux pas montrer une taille de fichier.