Sto utilizzando query di database in PHP per recuperare un file binario. Ma quando sto provando a forzare il download, l'intestazione ('Content-type: application/octet-stream') riga causa file 0 byte. Senza quella linea posso scaricare il file con il contenuto completo. È un file binario che è sicuro, quindi non riesco a capire perché quella linea causa il problema. Il codice:intestazione ('Content-type: application/octet-stream') causa file 0 byte
$result = mysql_query("SELECT data FROM stored_file WHERE file_name = '$q'");
while($row = mysql_fetch_array($result))
{
$file = $row['data'];
}
header('Content-disposition: attachment; filename='.$q);
header('Content-type: application/octet-stream');
header('Content-Length: '.filesize($file));
header("Pragma: no-cache");
header("Expires: 0");
echo $file;
Qualche idea? Grazie.
Commenta tutte le intestazioni; abilita la segnalazione degli errori ed esegui il tuo script. Pubblica eventuali messaggi di errore. –
Non ho ricevuto messaggi di errore. – Akos
Anche se sembra che filesize ($ file) non restituisca nulla. – Akos