Newsgroup: it.comp.www.php
Titolo: Download Explorer

Non riesco a fare il download di un file con Explorer, i seguenti script
funzionano alla perfezione sia con Opera che con Mozilla ma mi da il
seguente errore con Explorer:
Internet Explorer was not able to open this Internet site. The requested
site is either unvailable or cannot be found. Please try again later.
cosa c'è che non va?
<?php
...
$go = "scarica_file.php";
$to = "?titolo=$titolo&filename=$filename&dimensione=$dimensione"
<a class=\"linktd\" href=\"$go$to\">$filename</a>
...
?>
#scarica_file.php
<?php
include "inizio_unlock.php";
$titolo = $_GET["titolo"];
$filename = $_GET["filename"];
$dimensione = $_GET["dimensione"];
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Description: Download PHP");
header("Content-Length: $dimensione");
readfile("archivio/$titolo/$filename");
?>

Penso di aver capito il problema anche se non riesco a risolverlo,
Explorer cerca di scaricarmi la pagina scarica_file.php invece del file
che gli passo, come faccio a fagli capire che deve scaricarmi il file
$filename?


readfile("archivio/$titolo/$filename");
Prova anzi con questi header:
header("content-type: application/download\n");
header("Content-Length: $size");
header("content-disposition: attachment; filename=$file");
header("Cache-control: private");
Ciao


wrote:
Dimenticavo...poi aggiungi queste 2 righe per aprire il file:
$fn=fopen($file,"r");
fpassthru($fn);
Saluti

Mi da lo stesso errore
<?php
...
$filename = $_GET["filename"];
$file = "archivio/$dir/$filename";
$fn = fopen($file,"r");
header("Content-type: application/download\n");
header("Content-Length: $dimensione");
header("Content-disposition: attachment; filename=$filename");
header("Cache-control: private");
fpassthru($fn);
readfile($fn);
?>

readfile($fn);
ma perché? Prova a toglierla; inoltre io il
$fn=fopen($path.$file,"r");
lo metto dopo gli header e prima di 
fpassthru($fn);
Saluti

 ha scritto nel messaggio
news:tcntgvoihki17dcsq...@4ax.com...


X il momento vi ringrazio molto, cmq attualmente non posso provare, ma 
lunedì vi farò sapere se tutto è andato bene.
grazie

On Fri, 11 Jul 2003 20:41:51 +0000, Matteo Sorrenti wrote:
Il problema è più complesso di quel che credevo, il fatto è che devo usare un
collegamento con https, infatti se provo ad usare http funziona tutto,
invece se uso https mi da il seguente errore:
"Internet Explorer was not able to open this Internet site. The requested
site is either unvailable or cannot be found. Please try again later."
come ripeto tutto ciò accade solo con Explorer xchè con Opera e Mozilla va
tutto a meraviglia.

collegamento con https
La cosa allora si complica, leggi attentamente i commenti degli utenti
nel manuale PHP:
http://it.php.net/manual/it/function.header.php
sono molto utili, io ci ho dato un'occhiata veloce ed ho trovato
questo contributo che può fare al caso tuo:
dadarden at iti2 dot nospamola dot net
01-Feb-2003 03:56 
 
If you have file download code using header() that works fine in IE
when it runs under HTTP, but breaks when it runs under HTTPS, then go
to comments of the php manual page on session_cache_limiter() for
solutions.  For some reason IE uses the name of the php script as the
filename of the file to download when the download code runs under
https://.
Ciao
Francesco
 

 
http://it.php.net/manual/it/function.header.php
grazie mille, non so come ma alla fine sono riuscito a risolvere il
problema, dopo un lunga combinazione di header questa è risultata quella
vincente:-)
<?php
include "funzioni.php";
$titolo = $_GET["titolo"];
$filename = $_GET["filename"];
$file = "archivio/$titolo/$filename";
(file_exists($file) and $filename != "") ? $dimensione = filesize($file): avviso_specifica_file();
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Length: $dimensione");
readfile($file);
?>
ciao