Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Salva file da link

  1. #1

    Salva file da link

    Salve, ho un problema che non riesco ne a comprendere ne tanto meno a risolvere..

    in sostanza ho creato una pagina per scaricare i file senza farne vedere il percorso..

    Ho usato la sintassi ormai nota

    Codice PHP:
    ob_start();
    session_start();

    ...

    $file=$percorso_assoluto.$nome_file;  
    header("Content-type: application/force-download"); 
    header("Content-Disposition: attachment; filename=$file");
    header("Expires: 0"); 
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); 
    header("Pragma: public"); 

    readfile($file); 
    Ma succede qualcosa di strano

    in locale funziona tutto alla perfezione viene cioè aperto il popup per il download del file..

    sul server Aruba sembra proprio che gli header non vengono visti, per cui il file si integra al browser e non si capisce nulla..

    Qualcuno mi può dare una mano a capire perchè aruba mi da questo problema??

    Grazie a tutti..

  2. #2
    Si integra al browser in che senso?

  3. #3
    così..
    URL RIMOSSO

  4. #4
    Prova ad utilizzare questi header:

    Codice PHP:
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename= $file");
    header("Content-Transfer-Encoding: binary");
    readfile($file); 

  5. #5
    Purtroppo la situazione non cambia..

    ho inoltre notato come inserendo questo codice

    Codice PHP:
    print_r(getallheaders()); 
    in locale vedo tutti gli header mentre in remoto nulla...

    Può essere d'aiuto?

    C'è per caso qualche parametro del php.ini che blocca queste funzionalità?
    Grazie

  6. #6
    Sinceramente non saprei..

    Ma in ogni caso dubito che tu possa modificare le impostazione del php.ini

  7. #7
    Ok.. sono riuscito a capire..

    espongo la soluzione trovata..

    In sostanza gli header dipendono dal php.ini

    confrontanto il phpinofo() locale e quello remoto ho notato la differenza importante

    il paramentro "output_buffering"

    in locale è settato a 4096
    mentre in remoto non era settato..

    ho risolto questa differenza e ora gli header funzionano perfettamente..

    spero che serva anche a qualcun altro

    Grazie mille a Samleo per la disponibilità

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.