Newsgroup: it.comp.www.php
Titolo: Problema redirect o scaricamento file

Ho fatto uno script che vorrei, una volta avviato in automatico lo
scaricamento di un file, che facesse il redirect sull'home page.
Il risultato ottenuto e' solo uno dei due... :(
Come risolvere?
Ringrazio anticipatamente.
 
 <?php
function redirect($url, $timeout = 0)
{
    $timeout = (int)$timeout;
    die("<meta http-equiv=\"refresh\" content=\"{$timeout}; URL={$url}\"
/>");
}
?> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
">
<html xmlns="
http://www.w3.org/1999/xhtml
" xml:lang="it" lang="it">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>miosito</title>
<link href="/favicon.ico" type="image/x-icon" rel="Shortcut Icon" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="mestesso">
<meta name="description" content="miosito">
<?php
$file = 'brochure/oggetto_miosito.pdf';
//redirect(
www.miosito.it/t2.php
);
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pdf: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    //exit;
}
exit;
//
?>
header("Location: /index.php");
<body>
<center>
</body>
</html>
 
 

 scaricamento di un file, che facesse il redirect sull'home page.
 
 
leggi:
 
Inviare archivio quindi redirezione pagina del 2 ottobre

 ha scritto:

Hai qualche esempio? Il messaggio indicato non sono riusciuto a trovarlo
con il sito web che uso per postare... :(
Puoi postare per me la richiesta di esempi, su quel tread, cosi' il
messaggio tornera' in testa e potro' "essere presente". ;)
Ciao!
 


ci sono due risposte:
 
1 )
No, non puoi 'intercettare' la fine di un download.
 
L'unica cosa che puoi fare, è fare aprire il download in una nuova 
scheda, e in quella principale continuare la navigazione.
 
 
Per il messaggio di attesa, non ho capito bene cosa intendi, ma la cosa 
migliore sarebbe mettere nella pagina il messaggio di attesa, poi invii 
una richiesta ajax allo script che crea gli archivi, e quando quello ti 
risponde aggiungi la pagina con il link del download.
 
 
2 )
Non so se sia fattibile, ma senza ricorrere ad AJAX, potrebbe fare una 
pagina col messaggio "Sto scaricando" e metterci un piccolo iframe (1x1 
pixel) in cui carica lo script che fa il vero download. In questo modo il 
download parte subito al'apertura della pagina e sembra che avvengano in 
parallelo.
 
Non si può comunque sapere quando il download è finito.

 ci sono due risposte:
 
Mah, viste le premesse mi figuravo meglio questa discussione e ti dico 
che mi sono fiondato qui da i.c.p., se rispondi e basta non c'è gusto.
Io comunque continuo a non capire il messaggio iniziale.
 
-- 
Andrea
 

 
Qualche esempio c'e' da poter sfruttare?
Ciao!