Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    download forzato funziona solo con i pdf

    ho questa funzione per fare scaricare forzatamente i file dal browser, la cosa strana è che con i file .txt .pdf funziona bene mentre se invece scarico i file .doc o .m4v me li corrompe e una volta scaricati non li posso più aprire. Perchè? Non capisco.

    Codice PHP:
    $dir "";

    $file $dir $nomefile;

    if(!
    file)
    {
       die(
    "Il file non esiste!");
    }else{
      
    header("Cache-Control: public");
      
    header("Content-Description: File Transfer");
      
    header("Content-Disposition: attachment; filename= " $file);
      
    header("Content-Transfer-Encoding: binary");
      
    readfile($file);


  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ho provato anche questo, ma neanche questo funziona:


    Codice PHP:
    $file $_GET['filename'];







        
    $file realpath($file);

        if(
    headers_sent()) {
            echo 
    "Headers già inviati!";
            return 
    false;
        } else if(!
    file_exists($file)) {
            echo 
    "Il file da scaricare è inesistente!";
            return 
    false;
        }

        
    $mime_types = array(
            
    "bmp" => "image/bmp",
            
    "exe" => "application/octet-stream",
            
    "html" => "text/html",
            
    "ico" => "image/x-icon",
            
    "jpeg" => "image/jpeg",
            
    "png" => "image/png",
            
    "jpg" => "image/jpeg",
            
    "mov" => "video/quicktime",
            
    "mp3" => "audio/mpeg",
            
    "mp4" => "video/mpeg",
            
    "mpeg" => "video/mpeg",
            
    "mpg" => "video/mpeg",
            
    "txt" => "text/plain",
            
    "wav" => "audio/x-wav",
            
    "zip" => "application/zip",
            
    "doc" => "application/msword",
            
    "m4v" => "video/x-m4v"
         
    );

        
    $bytes filesize($file);
        
    $info  pathinfo($file);
        
    $ext strtolower($info["extension"]);
        
    $mt = isset($mime_types[$ext]) ? $mime_types[$ext] : "application/octet-stream";

        
    header("Content-Transfer-Encoding: binary"); 
        
    header("Content-Type: {$mt}");
        
    header("Content-disposition: attachment; filename=" $info["filename"] . "." $info["extension"]);
        
    header("Content-length: {$bytes}");
        
    header("Expires: 0");
        
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        
    header("Pragma: public");

        return 
    readfile($file); 

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.