Problema: Memory Limit non editabile dal php.ini :|
Questo non mi permette di far scarikare trammite il comando read_file, file + grandi di 12mb ai miei utenti :| Qualcuno mi sa aiutare? Esiste sicuramente un modo per risolvere la questione (un altro sito web che è hostato sempre da aruba fa scarikare "in streaming" file grandi circa 120mb)!
Codice PHP:
<?
$pagina_default 
0;
$id = (isset($_GET['id']))?$_GET['id']:$pagina_default;
 if(!
is_numeric($id)) {
$id 1;
}
 if(
$id >= 7) { //<-- in questo rigo cambiare "id >= NUM" in base al contenuto dell'array
$id 0;
}
$filename = array(
      
"file.zip",
      
"file2.zip"
      
);
            
$filename realpath($filename[$id]);

            
$file_extension strtolower(substr(strrchr($filename,"."),1));

            switch (
$file_extension) {
                case 
"pdf"$ctype="application/pdf"; break;
                case 
"exe"$ctype="application/octet-stream"; break;
                case 
"zip"$ctype="application/zip"; break;
                case 
"doc"$ctype="application/msword"; break;
                case 
"xls"$ctype="application/vnd.ms-excel"; break;
                case 
"ppt"$ctype="application/vnd.ms-powerpoint"; break;
                case 
"gif"$ctype="image/gif"; break;
                case 
"png"$ctype="image/png"; break;
                case 
"jpe": case "jpeg":
                case 
"jpg"$ctype="image/jpg"; break;
                default: 
$ctype="application/force-download";
            }

            if (!
file_exists($filename)) {
                die(
"Il file non esiste");
            }
/*header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
header("Content-Type: $ctype");
header('Content-Transfer-Encoding: binary');
header("Content-Length: ".filesize($filename));

readfile_chunked($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: $ctype");
            
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
            
header("Content-Transfer-Encoding: binary");
            
header("Content-Length: ".filesize($filename));
            
set_time_limit(0);
            
set_memory_limit(-1);
            
//header("Location: ".$filename);
            
readfile("$filename") or die("File non trovato.");
            
?>