
Originariamente inviata da
filippo.toso
In una singola richiesta HTTP non puoi restituire dati di più file diversi (HTTP 101).Crea lato server uno ZIP con tutti i file e resittuisci quello.Oppure crea una pagina che elenca vari link ad ogni XML e lascia che sia l'utente a scaricarli.
Grazie mille Filippo!!
Ho letto alcuni articoli su come si generano file zip, ma quando provo a generare ottengo l'errore :
Codice PHP:
Error : Class 'App\Http\Controllers\ZipArchive' not found
Ho modificato il mio codice in questo modo:
Codice PHP:
public function exportXml(){
$racc = Raccomandata::select('*')->where('isGenerated','=',0)->get->toArray();
//creo un file .ZIP in cui inserisco gli xml relativi alle raccomandate $zip = new \ZipArchive;foreach($racc as $r){
$xw = xmlwriter_open_memory();
// codice per generale il file xml
$xml = xmlwriter_output_memory($xw);
$response = Response::create($xml, 200);
$response->header('Content-Type', 'text/xml');
$response->header('Cache-Control', 'public');
$response->header('Content-Description', 'File Transfer');
$response->header('Content-Disposition', 'attachment; filename="xml_file.xml"');
$response->header('Content-Transfer-Encoding', 'binary');
if($zip->open('my_zip_test.zip', ZipArchive::CREATE) === TRUE){
//aggiungo i file xml allo zip
$zip->addFile($response);
//chiudo il file zip
$zip->close();
}
}
}
Da cosa potrebbe derivare questo errore? Ho letto che su Linux va installato, ma io sono su Windows e dovrebbe già essere presente.
Inoltre ho installato anche il pacchetto Maatwebsite Excel