Tämä koodi löytyi täältä (vastauksena):
https://stackoverflow.com/questions/15699301/export-mysql-data-to-excel-in-php
Toimii hyvin. Miten koodia voisi muokata (vai voisiko) niin, että tiedosto talletetaan aina käyttäjän C:levylle esim. tiedostoon C:/data/excelfilename.xls ?
$servername = "localhost"; $username = "root"; $password = ""; $dbname = "your_dbname"; //mysql and db connection $con = new mysqli($servername, $username, $password, $dbname); if ($con->connect_error) { //error check die("Connection failed: " . $con->connect_error); } else { } $DB_TBLName = "your_table_name"; $filename = "excelfilename"; //your_file_name $file_ending = "xls"; //file_extention header("Content-Type: application/xls"); header("Content-Disposition: attachment; filename=$filename.xls"); header("Pragma: no-cache"); header("Expires: 0"); $sep = "\t"; $sql="SELECT * FROM $DB_TBLName"; $resultt = $con->query($sql); while ($property = mysqli_fetch_field($resultt)) { //fetch table field name echo $property->name."\t"; } print("\n"); while($row = mysqli_fetch_row($resultt)) //fetch_table_data { $schema_insert = ""; for($j=0; $j< mysqli_num_fields($resultt);$j++) { if(!isset($row[$j])) $schema_insert .= "NULL".$sep; elseif ($row[$j] != "") $schema_insert .= "$row[$j]".$sep; else $schema_insert .= "".$sep; } $schema_insert = str_replace($sep."$", "", $schema_insert); $schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert); $schema_insert .= "\t"; print(trim($schema_insert)); print "\n"; }
Käyttäjän: ei mitenkään
Palvelimen kyseiseen polkuun sen taas voisi helpommin tallentaa
Kiitos vahvistuksesta, tämä linja on siis closed.
Entä jos tekisi niin, että tallettaa palvelimelle (kuinka?) ja sitten kopioi sieltä paikalliselle levylle?
$image = file_get_contents('localhost/data/excelfilename.xls'); file_put_contents('./data/excelfilename.xls', $image);
Teet millä tahansa ohjelmointikielellä käyttäjän koneelle asennettavan ohjelman, joka lataa tiedoston ja takkettaa sen käyttäjän kovalevylle tuohon hakemistoon.
Aihe on jo aika vanha, joten et voi enää vastata siihen.