• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

CSV-download streikt

damit leere ich vorher die datei und lade dann die neuen daten ein, sonst hängt er mir die doch immer aneinander oder nicht?
 
Bitte nicht schlagen, weil nicht alles durchgelesen...

Wie wär's mit einer .htaccess?
PHP:
<FilesMatch "\.(csv)$" >
ForceType application/octet-stream
</FilesMatch>
 
Warum schreibst du das überhaupt in eine Datei? Die Datenbankabfrage machst du doch jedesmal wieder. Header entsprechend anpassen und PHP den Kram csv-konform ausgeben lassen.

Oder du cached die Abfrage und schreibst die in eine Datei und nur wenn neue Daten (oder die Datei zu alt ist) schreibst du den Inhalt raus.
 
In fopen kann man selbst angeben, ob überschrieben werden soll oder nicht - der $mode-Parameter: http://php.net/manual/de/function.fopen.php

Und wenn du so die richtigen HTTP-Header bekommst für den Download, dann kannst du die auch per PHP setzten - du musst dir einfach mal ansehen, was dein Server da sendet und das dann per header() umsetzen... was ist daran so schwer?
 
wie schaff ich es eigentlich, dass bei telefonnummern die vorstehende 0 mit in die csv gespeichert wird? reinschreiben tu ich sie, aber beim öffnen der csv ist sie wieder weg?!?!?
 
ne, dein excel oder calc zeigt sie dir nur nicht an. Öffne deine csv mal mit einem Editor. Entweder du änderst den Spaltentyp während des Importes in Text oder du setzt deine Telefonnummern beim Schreiben in "
 
Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 32768 bytes)

sind rund 20.000 Datensätze, wie kann ich den Speicher erhöhen? Geht das Überhaupt?
 
Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 32768 bytes)

sind rund 20.000 Datensätze, wie kann ich den Speicher erhöhen? Geht das Überhaupt?
Vielleicht solltest Du auch ned einfach alle Daten in den Speicher fressen, um sie erst am Ende auszugeben. Oder welchen Sinn hat es, die Daten erst in ein Array zu stofpen, um dieses dann mit implode in eine Zeichenkette umzuwandeln, die dann in eine Datei geschrieben wird?
Dass Du überhaupt eine Datei erstellst wurde ja bereits hinterfragt, Du hast es halt bislang ignoriert.
 
41943040 bytes sind schon 40mb was normal schon extremst hochgegriffen ist. Wenn du damit nicht auskommst hast du offensichtlich einen Designfehler (auf den du auch schon ausreichend oft aufmerksam gemacht wurdest)
 
hm...sorry jungs ich finde kein fehler, wie schreib ich die datensätze denn ohne ein array in eine datei, muss doch erstmal sammeln oder nicht?
 
Indem du jede Zeile einzeln direkt in die Datei schreibst... wobei die Datei nach wie vor überflüssig ist.
 
ja aber ich will die datei ja zum download anbieten, halt auch nach der browsersession.
Hab den csv-import aus nem buch, wie gehts denn ohne array?
 
ja aber ich will die datei ja zum download anbieten, halt auch nach der browsersession.
Hab den csv-import aus nem buch, wie gehts denn ohne array?
Wenn das aus 'nem Buch ist, dann würde ich mal davon ausgehen, dass vorher und hintendran noch ein paar Texte / Kapitel kommen. Eventuell kann es nicht schaden diese mal zu lesen, anstatt nur das eine über CSV.
 
Zurück
Oben