Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Timeout nel download

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    34

    Timeout nel download

    Buongiorno a tutti,
    il problema è questo: ho una directory con delle immagini e tramite una pagina php devo elencare tutte e fare in modo che cliccando sul link corrispondente venga richiesto il download dell'immagine anziché aprirla automaticamente nel browser.

    Fin qui tutto bene, se non fosse che le immagini sono di oltre 250Mb e la readfile() va in timeout.
    Il server è quello standard dell'hosting windows di aruba (non è mio il sito), vorrei sapere se c'è qualche modo per impedire il timeout, o almeno allungare i temppi ad un paio d'ore.

    Ho provato con set_time_limit() impostato a -1, 0, 3600, 6000... ma niente da fare, nessun cambiamento.
    Ho anche provato la soluzione proposta in questo thread, ma ancora una volta nessun cambiamento.

    Allego la parte di codice che gestisce il download:

    codice:
    $file = $_GET['img'];
    $ext = strtolower(end(explode(".", $file)));
    $tipo = isset($formati[$ext]) ? $formati[$ext] : "application/octet-stream";
    
    header("Pragma: public");
    header("Expires: 0");
    //header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    //header("Cache-Control: private",false);
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Content-Transfer-Encoding: binary");
    
    header("Content-length: ".filesize($file));
    header("Content-type: $tipo");
    header("Content-Disposition: attachment; filename=\"$file\"");
    
    readfile($file);
    Togliendo i commenti alle righe di Cache-Control il download non parte nemmeno, resta sempre a cercare la pagina.

    Lo script non-funzionante è qui.

    Ringrazio in anticipo chiunque mi sappia dare indicazioni utili!

  2. #2
    Non sempre ti è consentito forzare così tanto la configurazione di php (come il timeout per il download). Credo che l'unica soluzione sia scrivere all'assistenza di aruba per chiedere se con loro è possibile farlo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    34
    mmm... è proprio quello che temevo...
    la mia domanda era più se qualcuno conosce qualche modo di aggirare questa cosa (evitare il timeout o avere lo stesso effetto con codice diverso), ma alla fine credo che dovrò arrendermi, su aruba non si possa pretendere più di tanto..
    grazie 1000!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.