[Risolto] download allegati ciclico php mysql

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
enigma83
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1400
Iscrizione: mercoledì 2 gennaio 2008, 13:12

[Risolto] download allegati ciclico php mysql

Messaggio da enigma83 »

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:

Codice: Seleziona tutto

<?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.
Avatar utente
eaghezzi
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 725
Iscrizione: martedì 21 luglio 2009, 10:27
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.1 LTS i686
Sesso: Maschile
Località: Valleambrosia

Re: download allegati ciclico php mysql

Messaggio da eaghezzi »

non funziona ???
dovresti essere preciso
--da un errore ?
rispetto al flusso
crea il file ?
il file è corretto ?

in generale dovresti usare path completi /var/www ....
negli header devi specificare il content type

header('Content-Type: application/octet-stream');
enigma83
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1400
Iscrizione: mercoledì 2 gennaio 2008, 13:12

Re: download allegati ciclico php mysql

Messaggio da enigma83 »

ok ho risolto cosi:

Codice: Seleziona tutto

<?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à
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Risolto] download allegati ciclico php mysql

Messaggio da Zoff »

Per quale motivo fai due query identiche?
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti