Visualizzazione risultati 1 fino 7 di 7

Discussione: Inserire link per scaricare il file

  1. #1
    Guest

    Predefinito Inserire link per scaricare il file

    Ciao a tutti, ho inserito nella cartella "immagini" del mio sito un'immagine e vorrei sapere una cosa. Se io inserisco questo codice

    Codice:
    <a href="link immagine"><img src="link immagine" widht="xx" height="yy"></a>
    Appare l'immagine nelle dimensioni xx,yy che gli ho dato e cliccandoci sopra si apre una pagina in cui è a grandezza naturale. Se invece vorrei mettere il link dai cui, cliccandoci col tasto sinistro, partisse il download cosa dovrei usare? Usando il normale

    Codice:
    <a href="link">Download</a>
    Si apre l'immagine a grandezza naturale o per scaricarla dovrei fare tasto destro > salva oggetto con nome. Io vorrei che cliccando col sinistro partisse direttamente il download. Come devo fare? Un aiutino?
    Ultima modifica di bssp : 11-01-2010 alle ore 20.56.27

  2. #2
    Guest

    Predefinito

    Bisognerebbe usare uno script PHP che forza l'apertura della finestra di download al browser inviando appositi header. Dai un'occhiata qui: http://www.mrwebmaster.it/php/artico...e-php_963.html

  3. #3
    Guest

    Predefinito

    Ho risolto con questo script ;)

    Codice:
    <?php
    header('Content-disposition: attachment; filename=locandina_concerto,gif');
    header('Content-type: application/gif');
    readfile('locandina_concerto.gif');
    ?>

  4. #4
    Guest

    Predefinito

    Praticamente quello che ti diceva di fare quel tutorial

  5. #5
    Guest

    Predefinito

    Anzi no non ho risolto. Mi si apre la finestrella di download ma mi scarica un file di 20 kb che non c'entra niente con l'immagine che andrebbe scaricata. Cos'ho sbagliato? Ho provato a usare anche il secondo codice ma il risultato è lo stesso, ve lo posto...

    Codice:
    <?php
    // definisco una variabile con il percorso alla cartella
    // in cui sono archiviati i file
    $dir = "/immagini/";
    
    // Recupero il nome del file dalla querystring
    // e lo accodo al percorso della cartella del download
    $file = $dir . $_GET['filename'];
    
    // verifico che il file esista
    if(!file)
    {
      // se non esiste chiudo e stampo un errore
      die("Il file non esiste!");
    }else{
      // Se il file esiste...
      // Imposto gli header della pagina per forzare il download del file
      header("Cache-Control: public");
      header("Content-Description: File Transfer");
      header("Content-Disposition: attachment; filename= locandina_concerto.gif" . $file);
      header("Content-Transfer-Encoding: binary");
      // Leggo il contenuto del file
      readfile($file);
    }
    ?>

  6. #6
    Guest

    Predefinito

    Ma sei sicuro che il percorso del file sia corretto? E poi questa riga:
    Codice PHP:
    if(!file)
    In PHP dovrebbe dare errore, visto che la stringa file non è preceduta dal dollaro. Anzi, scusa, non da errore però lo tratta come se fosse una costante e quindi quella condizione sarà sempre falsa.

  7. #7
    Guest

    Predefinito

    Il file si trova nella cartella immagini, quindi in questo percorso

    Codice:
    http://link.altervista.org/immagini/locandina_concerto.gif
    Al posto di "link" ci va il mio dominio che non ho messo per ragioni di spam ;) quindi

    Codice:
    if(!file)
    Devo modificarlo in

    Codice:
    if($file)
    o no?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •