Salve a tutti! Ho un problema con una funzione per salvataggio di file su disco. I file in questione sono file immagine JPEG e TIFF e ne è richiesto il download tramite tipica finestra-popup "apri - salva - annulla" come un qualsiasi file binario. incollo la funzione salva:
Codice PHP:
<?php
//funzione salva con nome
function salva($path, $name, $ext){
$ip_add=$_SERVER["SERVER_ADDR"];
$name=str_replace(" ", "%20", $name);
$filename = "http://$ip_add$name";
$basename = basename ($filename);
header ("Pragma: public");
header ("Expires: 0");
header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header ("Cache-Control: private", false);
header ("Content-Type: application/force-download");
header ("Content-Disposition: attachment; filename=\"".$basename."\"");
header ("Content-Description: File Transfer");
header ("Content-Transfer-Encoding: binary");
set_time_limit (0);
@readfile ($filename);
exit (0);
}
?>
Questa funzione fa quello che è richiesto e tutto funziona perfettamente fino a file di una certa dimensione! ora non ricordo esattamente la dimensione precisa.. ma diciamo che per file fino a 60-70 MB fila tutto liscio.. per file più pesanti, il download si blocca su tale soglia e non va più avanti! non c'è verso di completare questi download più pesanti.. (ci sono alcune .tif che arrivano a pesare 500MB).
Aggiungo un'ultima cosa: la riga
Codice PHP:
header ("Content-Length: " . filesize ($filename));
non è presente, perchè aggiungendola i download non funzionavano..
qualcuno sa da cosa può dipendere??
vi prego.. un'anima pia mi dia una mano ^_^