Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Scaricare file senza autoplay applicazioni video

    Salve sto usando uno script php che permette di registrare e visualizzare la dimensione dei file del link e il numero di download. Il problema è che il file è un .avi, quindi con firefox se clicco sul link "scarica" (creato da me ovviamente) parte l'autodownload del file come stream audio/video object e viene visualizzato al termine dello scaricamento direttamente nella finestra del broswer. Con IE ( :rollo: ) invece si apre automaticamente windows media player al cliccaggio del link e viene visualizzato li.
    Io preferirei che venga scaricato il file come un normale file exe o zip (come se facessi tasto destro-->salva oggetto con nome) senza far aprire il file con applicazioni. Non tutti comunque sanno farlo manualmente ma cliccano e basta (e comunque anche se fosse verrebbe fuori il nome file come quello dello script -getfile.php-). Lo chiedo perchè essendo parecchi file comprimerli tutti in zip sarebbe troppo complicato per me.

    Grazie

    il sito da cui l'ho scaricato è: http://www.spacemarc.it/tutorialphp/tutorial1.php

  2. #2
    un aiuto please?

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Se metti il link direttamente al file il browser fa quello che gli pare.
    Dovresti mettere il link a un tuo script php che in base ad un codice si va a leggere il file e poi lo mette in output con gli opportuni header, fra cui ce n'è uno che "consiglia" al browser di scaricare il file senza aprirlo.
    Al momento non mi viene in mente però con esattezza... dovrebbe essere "Content-disposition: download" o qualcosa del genere

  4. #4
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Prova con questo.

    Codice PHP:

    // $file: percorso assoluto + nomefile del file da inviare al browser

    function force_download($file)
        {
        
    $dim filesize($file);
        
    $nome_file substr($file,strrpos($file,"/")+1,strlen($file));

        
    $apptype "application/force-download";
      
        
    header("Content-Type: ".$apptype."; name=".$nome_file);
        
    header("Content-Transfer-Encoding: binary");
        
    header("Content-Length: ".$dim);
        
    header("Content-Disposition: attachment; filename=".$nome_file);
        
    header("Expires: 0");
        
    header("Cache-Control: no-cache, must-revalidate");
        
    header("Cache-Control: private");
        
    header("Pragma: public");
        
    readfile($file);
        } 

    [.:: JaguarXF ::.]
    __________________

  5. #5
    Non va perchè devo necessariamente usare questo script qui che mi registra su un file .txt sul server il numero di download e li mostra alla pagina, quindi dovrei trovare un modo per inserirlo qui per tutti i file .avi . Magari una normale semplice riga che dice di forzare il download e basta.

    Codice PHP:
    <?php
    //estensione dei file da scaricare
      
    $ext ".avi";
      
      
    //nome directory con i file di testo, compreso lo slash / finale
      
    $counterdir "count/";
      
      
    //controllo che nell'url ci sia il nome del file da scaricare,
      
    if(isset($_GET['name']) && trim($_GET['name'])) {

      
    //se il file richiesto esiste, avviene il download
      
    if (file_exists("$_GET[name]$ext")) {
      
        
    header("Location: $_GET[name]$ext");
        
        
    //apro il file .txt relativo al download richiesto e lo incremento di 1
        
    $file = @fopen("$counterdir/$_GET[name].txt","r");
        
    $count = @fread($file100);
        
    $countplus = ($count 1);
            @
    fclose($file);
        
    $fileb = @fopen("$counterdir/$_GET[name].txt","w");
        @
    fwrite($fileb$countplus100);
        @
    fclose($fileb);
        
        
    //altrimenti, se il file richiesto non esiste, parte l'email di avviso al webmaster e stampo un messaggio di errore
           
    } else { 
           
    $_GET['name'] = str_replace(">""&gt;"$_GET['name']);
    $_GET['name'] = str_replace("<""&lt;"$_GET['name']);    
         
    $today date("j F Y G:i");
    $user_ip "$_SERVER[REMOTE_ADDR]";
    $to "email@email.it";
    $subject "Download non trovato";

    $body "$user_ip il giorno $today non ha trovato il file $_GET[name]$ext";

    @
    mail("$to","$subject","$body");

    echo 
    "Il file $_GET[name]$ext non &egrave; disponibile per il download.

    Riprova pi&ugrave; tardi. Abbiamo ricevuto la segnalazione di link guasto dal server, risolveremo in tempi brevi. Grazie"
    ;



    //altrimenti, se il nome del file non è passato via get, redirect alla pagina principale
    } else {
    header("Location: index.php");
    }
    ?>
    Altrimenti faccio tutto in .zip e addio tutto

    Grazie in anticipo

  6. #6
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da dawson_s
    registra su un file .txt sul server il numero di download e li mostra alla pagina
    Dov'è che li mostra?

    [.:: JaguarXF ::.]
    __________________

  7. #7
    tramite uno script php sulla pagina html affianco a link come questo

    Codice PHP:
    [url="getfile.php?<?php echo "]">Scarica Prova.zip[/url] (download <?php @include("count/prova.txt"); ?>, size <?php  
    $dim 
    = @filesize ("prova.zip") / 1024;
    $dim round($dim);
    echo 
    "$dim KB";
    ?>)

    perchè me lo chiedi dipende da questo se lo posso fare o no?

  8. #8
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Scusa, ma se la pagina di force download è richiamata da un link e il count dei download lo scrivi accanto al link, il problema dove sta?

    [.:: JaguarXF ::.]
    __________________

  9. #9
    che se il link lo cambio senza il richiamo al file getfile.php il numero di download non viene incrementato

  10. #10
    OK ho risolto, ma sapete perchè e se può essere un motivo valido un file (sempre attraverso quello script) che va oltre 12MB non parte il download? cioè con tutti i files sotto quella soglia tutto ok se vado oltre il file non va (e non c'è errore di link errato) e se vado sul file con link diretto invece viene scaricato

    Perchè??

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 © 2024 vBulletin Solutions, Inc. All rights reserved.