php mysql csv auto save

Status
Niet open voor verdere reacties.

chandlurmark

Gebruiker
Lid geworden
12 mrt 2008
Berichten
58
Weet iemand hoe ik dit csv bestand automatisch kan laten opslaan in een directory op de server? Ik heb vanalles geprobeerd maar ik kom er neit meer uit. Thanks!

PHP:
<?php
  //
  // establish database connection
  //
  include '../connection/beaufortpersoneel.php';
  //
  // execute sql query
  //
  $query = sprintf("select personeelsnummer, kostenplaats + ' ('+afdeling+')' as kostenplaats, voorletters, voornaam, tussenvoegsels, achternaam, geslacht, geboortedatum, email, telefoon, kamer from topdesk_beaufort");
  $result = odbc_exec($connect, $query);
  //
  // send response headers to the browser
  // following headers instruct the browser to treat the data as a csv file called export.csv
  //
  header( 'Content-Type: text/csv' );
  header( 'Content-Disposition: attachment;filename=mdwsmoeleboek.csv' );
  //
  // output header row (if atleast one row exists)
  //  
  $row = odbc_fetch_array( $result );
  if ( $row )
  {
    echocsv( array_keys( $row ) );
  }
  //
  // output data rows (if atleast one row exists)
  //
  while ( $row )
  {
    echocsv( $row );
    $row = odbc_fetch_array( $result );
  }
  //
  // echocsv function
  //
  // echo the input array as csv data maintaining consistency with most CSV implementations
  // * uses double-quotes as enclosure when necessary
  // * uses double double-quotes to escape double-quotes 
  // * uses CRLF as a line separator
  //
  function echocsv( $fields )
  {
    $separator = '';
    foreach ( $fields as $field )
    {
      if ( preg_match( '/\\r|\\n|,|"/', $field ) )
      {
        $field = '"' . str_replace( '"', '""', $field ) . '"';
      }
      echo $separator . $field;
      $separator = ";";
    }
    echo "\r\n";
  }
?>
 
simpel gewoon het hele princiepe aanpassen...
Wat je nu doet is een besand aanmaken via de header en die wil je opslaan, maar gezien dat (naar mijn weten) niet mogelijk is zul je het anders aan moeten pakken....

Dus.. header code weghalen, en de output van de csv file wegschrijven via de code hieronder...

PHP:
$fp = fopen('mdwsmoeleboek.csv', 'w');
fwrite($fp, 'De tekst die erin moet komen te staan....');
fclose($fp);

Vanwaar heb je er staan "sprintf" ? het lijkt mij toch echt helemaal niets te doen hoor....

m.v.g.
JB
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan