Buonasera ho appena creato una tabella ticket in cui se ci sono allegati è possibile scaricarli... se gli allegati sono + di 1 allora dovrebbe crearmi un zip e scaricarlo... non mi funziona. questo è il codice:
<?php
require_once("../include/parameters.php");
$id=$_GET['id'];
$count=$_GET['count'];
$sqlall="SELECT * FROM MyGest_Allegati_Ticket WHERE idTicket='$id'";
$resultall=mysql_query($sqlall)or die(mysql_error());
while($row=mysql_fetch_array($resultall)){
if($count>1){
$zip = new ZipArchive();
$nomeZip = "allegati.zip";
if ($zip->open($nomeZip, ZIPARCHIVE::CREATE) !== TRUE) {
exit("impossibile creare il file zip");
}
$zip->addFile("$row['Url']");
$zip->close();
}else{
$nomeZip=$row['Url'];
}
if (!file_exists($nomeZip))
{
// se non esiste stampo un errore
echo "Il file non esiste!";
}else{
// Se il file esiste...
// Imposto gli header della pagina per forzare il download del file
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename= " . $nomeZip);
header("Content-Transfer-Encoding: binary");
// Leggo il contenuto del file
readfile($nomeZip);
}
}
?>
Ultima modifica di enigma83 il sabato 21 giugno 2014, 9:18, modificato 1 volta in totale.
<?php
require_once("../include/parameters.php");
$id=$_GET['id'];
$count=$_GET['count'];
if($count>1){
$zip = new ZipArchive();
$nomeZip = "allegati.zip";
if ($zip->open($nomeZip, ZIPARCHIVE::CREATE) !== TRUE) {
exit("impossibile creare il file zip");
}
$sqlall="SELECT * FROM MyGest_Allegati_Ticket WHERE idTicket='$id'";
$resultall=mysql_query($sqlall)or die(mysql_error());
while($row=mysql_fetch_array($resultall)){
$zip->addFile("http://miosito.it/cartella/public/".$row['Url']);
}
$zip->close();
}else{
$sqlall="SELECT * FROM MyGest_Allegati_Ticket WHERE idTicket='$id'";
$resultall=mysql_query($sqlall)or die(mysql_error());
while($row=mysql_fetch_array($resultall)){
$nomeZip=$row['Url'];
}
}
if (!file_exists($nomeZip))
{
// se non esiste stampo un errore
echo "Il file non esiste!";
}else{
// Se il file esiste...
// Imposto gli header della pagina per forzare il download del file
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename= " . $nomeZip);
header("Content-Transfer-Encoding: binary");
// Leggo il contenuto del file
readfile($nomeZip);
}
?>
ora funziona sia singolo che multiplo.. grazie lo stesso x la disponibilità