Hallo,
ich habe folgendes Problem:
Ich habe eine Funktion, um CSVs auf Serverplatte zu schreiben. Dummerweise geht das nicht bei meinem neuen Provider.
Wie kann ich das jetzt am Besten so machen, dass ich das ganze dynamisch auf den Client downloade? (also so wie oben)
Kann mir jemand ein paar Zeilen Beispielcode geben, weil ich das oben schlcihtweg nciht verstehe (http Header&Co)?
das ist meine bisherige Funktion:
Die ganzen Fopen, Fwrite, FCLOSE Befehle funktionieren bei meinem neuen Provider nicht mehr.
Gruß + Dank
Gabriel
ich habe folgendes Problem:
Ich habe eine Funktion, um CSVs auf Serverplatte zu schreiben. Dummerweise geht das nicht bei meinem neuen Provider.
Wie kann ich das jetzt am Besten so machen, dass ich das ganze dynamisch auf den Client downloade? (also so wie oben)
Kann mir jemand ein paar Zeilen Beispielcode geben, weil ich das oben schlcihtweg nciht verstehe (http Header&Co)?
das ist meine bisherige Funktion:
PHP-Code:
//export von tabellen aus mysql nach csv
//$tablename -> Quelltabelle in Gilde
//$filename -> Zieldatei (csv mit " als Begrenzer)
function exporttable($tablename, $filename)
{
//0. Admininfo
echo "<b>exporttable($tablename, $filename)</b><br>";
//1. Tabelle auslesen
echo "Öffnen der Tabelle $tablename...";
$query="select * from $tablename";
if ($trace==TRUE) {echo "q: $query <br>";}
$result=mysql_query($query) or die(mysql_error());
$rows=mysql_num_rows($result);
$cols=mysql_num_fields($result);
if ($trace==TRUE) {echo "rows : $rows cols: $cols <br>";}
echo "...done.<br>";
//2. Feldnamen feststellen
echo "Feststellen der $cols Feldnamen...";
for($x=0;$x<$cols;$x++)
{
$fieldname[$x]=mysql_field_name($result,$x); //feldnamen merken!
}
echo "...done.<br>";
//3. String Datei anlegen
echo "String Datei $filename anlegen...";
$stringdatei = fopen("$filename","w");
echo "...done.<br>";
//4. Werte wegschreiben
echo "$rows Datensätze schreiben";
//4.1 zuerst Hearde
$row=implode("\",\"",$fieldname);
$row="\"".$row."\"\r\n";
fwrite($stringdatei,$row);
//4.2 Daten schreiben
//Array nur als textholen, sonst ist alle doppelt!!!
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) //alle Zeilen
{
$row=implode("\",\"",$row);
$row="\"".$row."\"\r\n";
fwrite($stringdatei,$row);
echo ".";
}
echo "done.<br>";
//5. sTRING Datei schliessen
echo "String Datei beenden...";
fclose($stringdatei);
echo "...done.<br>";
return TRUE;
}
Gruß + Dank
Gabriel
Kommentar