Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    70

    Inviare file Excel autocompilato via mail..si ma come?

    Ciao ragazzi dovrei creare un file xls tramite una query e infatti ci sono riuscito tramite questo script:

    codice:
    <?php
    $manufacturers_id="6";
    
    //connessione DB
    	
    $filename="export.xls";
    header ("Content-Type: application/vnd.ms-excel");
    header ("Content-Disposition: inline; filename=$filename");
    ?>
    <html><head><title>Export</title></head><body>
    <table border="1">
      <tr>
       <th>Quantit&agrave;</th>
       <th>Codice Articolo</th>
       <th>Variabile 1</th>
       <th>Variabile 2</th>
      </tr>
    <?
    $risultato_query = mysql_query("SELECT * FROM tabella WHERE prodotto_id = '{$prodotto_id}'");
     
    while ($row=mysql_fetch_array($risultato_query))
    {
    ?>
     <tr>
      <td><? echo $row['quantita_ordine']; ?></td>
      <td><? echo $row['products_codice']; ?></td>
      <td><? echo $row['products_attributo1var']; ?></td>
      <td><? echo $row['products_attributo2var']; ?></td>
     </tr>
    <?
    }
    ?>
    </table> 
    </body></html>
    <?
    @mysql_close($connessione); 
    ?> 
    
    // START  parte di codice per l'invio della mail..
    
    / ASSEGNIAMO A VARIABILI PIU' LEGGIBILI, LE PROPRIETA' DELL'ALLEGATO
    $attach = $filename["tmp_name"];
    $file_name = $filename["name"];
    $file_type = $filename["type"];
    $file_size = $filename["size"];
    
    // DELIMITATORE
    $boundary = md5(uniqid(microtime()));
    
    // APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
    $file = @fopen($attach, "r");
    $contents = @fread($file, $file_size);
    $encoded_attach = chunk_split(base64_encode($contents));
    @fclose($file);
    
    // INTESTAZIONI DELLA MAIL
    $mail_headers .= "MIME-version: 1.0\n";
    $mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
    $mail_headers .= "X-attachments: $file_name\n";
    
    //Creo GLI altri campi per la mail $Destinatario, $Soggetto, $mail_body
    ..................................   
    .................................
    .................................
    
    // INVIO DELLA MAIL
    mail($Destinatario, $Soggetto, $mail_body, $mail_headers)
    Il problema è che mi chiedi di salvare manualmente il file xls che tra l'altro è stato compilato adhoc con i campi da me richiesti..

    Ma io invece vorrei far si che anzichè chiedermi di salvarlo, me lo alleggasse alla mail, quindi me lo "passasse" ($filename) alla parte di codice piu in basso che per l'appunto mi genera la mail e me la invia..

    Come posso fare?

    Grazie a tutti!

  2. #2
    Elimina le varie chiamate ad header, utilizza ob_start() + ob_get_clean() per salvare in $contents i dati che stai mandando all'output buffer.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    70
    grazie per l'aiuto..ma non ci ho capito molto..non ho mai usato queste funzionio..

    Mi aiuti un po' conla sintassi?..che cosa devo passare a queste funzioni?

    Grazie!

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    70
    mi dispiace ragazzi ma anche dal manuale non riesco a farlo andare..

    Qualche aiutino?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    70
    Ragazzi non ce la facciooo

    C'è qualche anima pia che mi può dare una mano?

    grazie..

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    70
    up!

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.