Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278

    download di file sql con php

    Ciao a tutti ho un problema con il download di un file sql dopo aver fatto il backup del db,memorizzo il tutto in un flie su server e poi procedo al downolad il tutto al primo accesso giornaliero:

    Codice PHP:
     //salvo il file
     
    if(!file_exists($file_backup))
      {
         
    $fd=fopen($file_backup,"w");
         
    fwrite($fd,$content_file_backup);
         
    fclose($fd);
      }
      else
      {
        
    $fd=fopen($file_backup,"w");
        
    rewind($fd);
        
    fwrite($fd,$content_file_backup);
         
    fclose($fd);
        
      }

        
    header("Content-type: application/octet-stream");
          
             
    header("Content-Disposition:attachment; filename=".$file_backup); 
    pero' nel download come contenuto trovo codice html della pagina,non riesco a capire sara' forse che spaglio gli header??

    Grazie per l'aiuto..

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    header("Content-Disposition:attachment; filename=".$file_backup);
    Questa istruzione dice con quale nome proporre al browser di salvare il "testo" che stai inviando al browser.... e nel tuo codice non stai inviando testo... se non quello che mette di default php probabilmente.

    Il tuo codice deve diventare:
    codice:
    // con questo dici al browser che stai mandando uno stream di dati anzichè il text/html di default.
    header('Content-type: application/octet-stream');
    
    // qui dici con che nome salvare
    header('Content-Disposition: attachment; filename="'.basename($file_backup).'"');
    
    /* poi fai le tue valutazioni, non ho capito bene cosa fail con il tuo codice, ma semplicemente se sei sicuro che $file_backup contiene il backup devi semplicemente mandarlo in output al browser (potresti anche fare un echo di una stringa qualsiasi per fare in modo che questa venga proposta per il salvataggio in un file)
    */
    
    readfile($file_backup);
    /**
    ci metti un die per essere sicuro che il tuo file non venga sporcato con altri dati (se il codice è corretto non è necessario perchè comunque non viene stampato + nulla però con questo stai sicuro.
    **/
    die;
    ciao

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.