Visualizzazione risultati 1 fino 7 di 7

Discussione: Come forzare il download di un file hostato su un sito esterno?

  1. #1
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito Come forzare il download di un file hostato su un sito esterno?

    Salve ragazzi, stavo scrivendo un articolo con un video (flv) hostato su un sito esterno e desiderato inserire un pulsantino per il salvataggio del file.
    Il link è un redirect via htaccess da /miofile.flv (inesistente) @ sito.xy/nomefile.flv
    Mi chiedevo se c'è un qualche modo per forzare il download pur essendo su un sito esterno (uno script in php o un semplice javascript andrebbe bene comunque).
    Aspetto risposta per completare l'articolo. Grazie :)

  2. #2
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Io l'ho fatto così:
    Codice PHP:
    <?php
    $url
    = 'http://www.sito.it/file.ext';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    $file_content = curl_exec($ch);
    curl_close($ch);
    header('Content-Description: Download');
    header('Pragma: public');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Cache-Control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="file.ext";');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: '.strlen($file_content));
    @
    ob_clean();
    @
    flush();
    @
    ob_start();
    echo
    $file_content;
    @
    ob_end_flush();
    exit();
    ?>
    ho provato a scaricare una immagine e funziona.
    Però non trovo un'altra funzione (oltre a strlen) per calcolare la dimensione del file.

  3. #3
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Non mi funziona purtroppo (cioè, scarica un file vuoto):
    Codice:
    C:\Users\DarkWolf>wget http://www.darkwolf.it/raiperunanotte.flv
    --23:23:19--  http://www.darkwolf.it/raiperunanotte.flv
               => `raiperunanotte.flv'
    Resolving www.darkwolf.it... 78.129.205.91
    Connecting to www.darkwolf.it|78.129.205.91|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: http://darkwolf.altervista.org/raiperunanotte.flv [following]
    --23:23:19--  http://darkwolf.altervista.org/raiperunanotte.flv
               => `raiperunanotte.flv'
    Resolving darkwolf.altervista.org... 78.129.205.88
    Connecting to darkwolf.altervista.org|78.129.205.88|:80... connected.
    HTTP request sent, awaiting response... 301 Moved Permanently
    Location: http://darkwolf.altervista.org/script/raixunanottedownload.php [follow
    ing]
    --23:23:19--  http://darkwolf.altervista.org/script/raixunanottedownload.php
               => `raixunanottedownload.php'
    Reusing existing connection to darkwolf.altervista.org:80.
    HTTP request sent, awaiting response... 200 OK
    Length: 0 [application/octet-stream]
    
        [ <=>                                 ] 0             --.--K/s
    
    23:23:35 (0.00 B/s) - `raixunanottedownload.php' saved [0/0]

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Qual è il limite di memoria su AV?
    Qual è la dimensione del file?
    Perchè come detto sopra, con una immagine, lo script funziona.
    E poi devi considerare che ti viene consumata la banda.

  5. #5
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Il file è 750Mega (allora è per questo)
    Io vorrei che al click scarichi il file (anche in javascript eventualmente... per evitare passaggio di banda) :)
    Tanto per evitare di spiegare: tasto destro ecc... ecc...
    Ultima modifica di darkwolf : 27-03-2010 alle ore 00.45.28

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Certo con 750M è normale che non funziona.
    Con javascript, ho trovato solo questo: http://www.faqts.com/knowledge_base/...d/4906/fid/126(forse funziona solo con IE), non so se ci sono altri metodi.
    Ultima modifica di andreafallico : 27-03-2010 alle ore 01.08.52

  7. #7
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    OK, grazie, temevo fosse una situazione "particolare" :)
    Comunque, chissà... magari arriverà qualche risposta :)

Tags for this Thread

Regole di scrittura

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