Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Scaricare file .pdf senza aprirlo

    Salve ragazzi io ho un file .pdf presente nella cartella /dir1/dir2/file.pdf è l'intero pathname è presente in $row[url] e ho inserito uno script nella cartella /ciccio/ che dovrebbe servire per scaricare il file senza farlo aprire dal browser.
    Uso queste 3 righe
    Codice PHP:
    header("Content-type: application/pdf");
    header('Content-Transfer-Encoding: Binary');
    header("Content-Disposition: attachment; filename=".basename($row[url])); 
    Questo mi scarica un file col nome file.pdf che è un file creato per l'occasione ma non è quello che voglio scaricare, di sicuro il problema dipende dal fatto che alla voce filename= non posso inserire pathname ma solo il nome del file che quindi dovrebbe essere contenuto nella dir in cui è presente il file, sapreste dirmi come posso risolvere il mio problema!?

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non so altri, ma io non ho capito niente...

  3. #3
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Il path deve essere assoluto, non relativo alla tua document root.
    Oltretutto basename non fa esattamente quello che vuoi, visto che elimina del tutto le directory.
    dovrebbe bastare correggere con questa riga:

    header("Content-Disposition: attachment; filename=". $_SERVER['DOCUMENT_ROOT'] . $row[url]);

  4. #4
    Ok, c'avevo pensato, ho fatto così
    Codice PHP:
    header("Content-type: application/pdf");
    header('Content-Transfer-Encoding: Binary');
    header("Content-Disposition: attachment; filename=".$_SERVER['DOCUMENT_ROOT'].dirname($row[url])."/".basename($row[url]));
    readfile($_SERVER['DOCUMENT_ROOT'].dirname($row[url])."/".basename($row[url])); 
    Ma non va, in pratica mi carica la pagina inserendo una serie di codici strani, sembra quasi volesse leggere il file .pdf in maniera stranissima

  5. #5
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    intanto stampa a video solo questa riga per vedere se il path è corretto.
    $_SERVER['DOCUMENT_ROOT'].dirname($row[url])."/".basename($row[url])

    Prima ho detto una cretinata, il filename andava bene come l'avevi impostato.

    Content-Type dovrebbe avere la T maiuscola.

    Prova.

  6. #6
    La path è corretta, cmq ho visto na cosa, con FF il codice funge con IE no -.-

  7. #7
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Originariamente inviato da Kaesar83
    La path è corretta, cmq ho visto na cosa, con FF il codice funge con IE no -.-
    hai impostato il Content-Type maiuscolo?
    prova anche a impostare binary minuscolo.

  8. #8
    Si dovevo inserirlo minuscolo, 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.