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

    Rinominare un file prima del download

    Ciao ragazzi,
    cerco un sistema comodo per rinominare i file prima di essere scaricati... mi spiego meglio:
    sul server sono caricati dei file nominati tipo "125.pdf", nella pagina di download posso ricavare facilmente il nome del prodotto e mi piacerebbe che il file venga scaricato con questo nome: "nome.pdf".

    Pensavo di rinominare in php e poi dare il download ma poi dovrei gestire la cancellazione... i file in questione sono tantissimi e abbastanza pesanti.

    ... cosa ne pensate? è più un lavoro da javascript?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    1
    Se non sbaglio per il download in php puoi inviare nell'header il nome del file ed è questo che userà il client per salvarlo. Quindi potresti fare una cosa del genere:

    Codice PHP:
    <?php
    //...headers...
    header("Content-Disposition: attachment; filename=nome_che_vuoi_dare_al_file");
    //...altri headers.....
    readfile($file_effettivo);
    ?>
    Credo nulla ti vieti di indicare un nome nell'header e poi caricare un file con nome diverso con la funzione readfile.

    ...spero ti sia d'aiuto.

  3. #3
    grazie ci provo e ti faccio sapere!

  4. #4
    Mi sono fatto un filettino dove recupero 2 variabili via get:
    - nome file origine
    - nome file download

    verifico se il file esiste dopodichè lo faccio scaricare con il sistema che mi hai consigliato aggiugendo anche altri dati nel nome del file (strigafissa+nomeprodotto+data+.pdf).

    Grazie dell'aiuto!

  5. #5
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Stai attento:
    se fai solo una verifica sull'esistenza del file, è possibile far scaricare al tuo script qualunque file si voglia passando via GET una stringa appositamente studiata ('../index.php' o peggio)

    Ti conviene avere un elenco dei file scaricabili (su db) con il loro url e il nome che vuoi dare al file.
    Al tuo script passi solo un id e lui fa tutto il resto:
    1. cerca il file sul db
    2. imposta gli header con il nome desiderato
    3. restituisce il contenuto

  6. #6
    ...hai proprio ragione...

    ho così corretto:
    - passo codice del file/nome (senza estensione e percorso)
    - cerco il file aggiungendo percorso ed estensione
    - se esiste passo il file al download con gli header.

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.