You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, April 15th 2008, 10:13pm

datei zum downloaden anbieten

Hallo alle zusammen. Habe eine Frage: kann ich die CSV Datei erzeugen und sie ohne abzuspeichern (auf dem Server) zum Downloaden anbieten?
Danke für die Antwort im voraus

2

Tuesday, April 15th 2008, 10:16pm

was willst du denn herunterladen was nicht existiert?
aber wenn ich das richtig deute willst du einen ganz normalen (live) generierten Plain-Text mit Downloaddialog versehen.
Such mal nach header attachment disposition, dann wirst du fündig. Lösung bitte posten ;)

3

Wednesday, April 16th 2008, 1:18pm

Hallo d0nut. Danke für die rasche Atwort. War mir aber ein bischen kompliziert, ich tue doch erst mal die Datei abspeichern und dan zum Runterladen anbieten. Funktioniert auch, wenn ich aber die cvs-Datei runterlade, steht da drin der gesamte Inhalt meiner Seite !! Wie passiert das?
Hier Codeabschnitt:

Source code

1
2
3
4
5
if(file_exists('temp/'.$cvs_file)){
					header('Content-Type: text');
					header('Content-Disposition: attachment; filename="'.$cvs_file.'"');
					readfile('temp/'.$cvs_file);
				}


und hier was in der Datei drin steht

Quoted

Benutzername , Strasse , Stadt , email-Adresse, Teilname-Datum
BOB , mystreet , mycity , myemail , 2008-04-16 10:01:47
BOB , mystreet , mycity , myemail , 2008-04-16 10:02:44
BOB , mystreet , mycity , myemail , 2008-04-16 10:02:44
BOB , mystreet , mycity , myemail , 2008-04-16 10:01:50
BOB , mystreet , mycity , myemail , 2008-04-16 10:01:50
BOB , mystreet , mycity , myemail , 2008-04-16 10:01:50
BOB , mystreet , mycity , myemail , 2008-04-16 10:01:49
BOB , mystreet , mycity , myemail , 2008-04-16 10:01:49
BOB , mystreet , mycity , myemail , 2008-04-16 10:01:49
-----------------bis hier hin csv
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Site/title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

blabla.........


4

Wednesday, April 16th 2008, 6:43pm

das muss Content-Type: text/plain heißen.
Ansonsten, sicher, dass nicht mehr in der CSV steht.. ist ja schließlich dynamisch generiert, oder?

5

Wednesday, April 16th 2008, 8:35pm

habe inzwischen eine Lösung gefunden: wenn ich gleich nach der IF-Abfrage exit einfüge, dann ist alles ok, weiss nicht warum. Noch eine Frage: wie kann ich ermitteln, dass die Datei schon runtergeladen ist? Ich muss die temp-Datei entfernen

6

Wednesday, April 16th 2008, 8:55pm

Ich glaube mit PHP hast du keine Möglichkeit das zu prüfen..

7

Wednesday, April 16th 2008, 9:51pm

ja, es ist noch schlimmer, weil nach dem exit kannich nichts mehr machen und meine temp-dateien bleiben und vermehren sich. Eine Katastrophe.. :wacko:

8

Wednesday, April 16th 2008, 10:01pm

müsste doch klappen....

PHP Quellcode

1
2
3
readfile('temp/'.$cvs_file);
unlink('temp/'.$cvs_file);
exit;

9

Wednesday, April 16th 2008, 11:06pm

Ich fass es nicht! Das funktioniert tatsächlich! Danke!! :thumbsup: :thumbsup:

10

Thursday, April 17th 2008, 1:12pm

Wow, hätte ich wirklich nicht gedacht..

11

Saturday, April 19th 2008, 11:35am

hallo, habe wieder ein Problem. Ich habe eine Klasse geschrieben und inkludiere sie

include_once("paginator.class.php");

und jetzt kann ich die csv Datei nicht mehr downloaden, sondern wird sie einfach in Browser ausgegeben. In der Klasse keine echo- oder print-Ausgabe, wirklich nichts. Wenn ich mir aber Response im Firebug ansehe, stehen viele Leerzeichen vor meiner Ausgabe. woher kommen die? Klar ist, dass die inkludierte Klasse schuldig ist, aber wie? Danke für die Antwort im voraus

13

Saturday, April 19th 2008, 12:38pm

hallo d0nut. Ich includiere auch viele andere Dateien:


include_once("../../lib/php/conf.php");
include_once("../../lib/php/db_fs.php");
include_once("paginator.class.php");

if($_POST['submit']){
create_CSV();
}


function create_CSV(){
.........
}

du meinst ich soll Downloadbereich abgrenzen? Wie kann ich am besten es realisieren?

14

Saturday, April 19th 2008, 12:47pm

ok, habe so eine Lösung

if($_POST['submit']){
create_CSV();
}else{
include_once("paginator.class.php");
..........
}

sieht nicht gerade gut aus :whistling: , funktioniert aber :) . Kann man so lösen, oder include muss unbedingt nach oben? Auf jeden Fall danke für die Idee :)

This post has been edited 1 times, last edit by "engel33" (Apr 19th 2008, 3:20pm)


Similar threads

Social bookmarks