Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
ploehr
Threadersteller
Dabei seit: 19.12.2005
Ort: UelzCoast
Alter: 43
Geschlecht:
|
Verfasst Mo 18.09.2006 16:26
Titel [PHP] Download Problem |
|
|
moin moin,
ich hab da folgendes problem, bei dem ich nicht weiterkomme:
in deiner datei wird der inhalt für eine vcf-datei (adressbuch) generiert. klappt auch. danach soll die erstellte datei zum download per input-button angeboten werden. klappt auch. allerdings ist sie leer.
auf dem server ist sie mit den richtigen daten gefüllt, auch wenn ich sie direkt per ftp downloade oder im browser direkt aufrufe. hat jemand ne ahnung woran das liegt?
ganz zum schluss soll die datei gelöscht werden. und zwar nach einer pause von zb 20 sekunden. was passiert ist aber folgendes: die pause tritt ein bevor der speichern/öffnen-dialog erscheint.
irgendwelche ideen?
Code: |
<?php
$vcard = "BEGIN:VCARD \n";
$vcard .= "VERSION:2.1 \n";
$vcard .= "N:$_POST[kontakt_nachname];$_POST[kontakt_vorname];;$_POST[kontakt_anrede] \n";
$vcard .= "FN:$_POST[kontakt_vorname] $_POST[kontakt_nachname] \n";
$vcard .= "ORG:$_POST[kontakt_firma]; \n";
$vcard .= "TITLE:$_POST[kontakt_position] \n";
$vcard .= "NOTE:$_POST[kontakt_anmerkung] \n";
$vcard .= "TEL;WORK;VOICE:$_POST[kontakt_telefon] \n";
$vcard .= "TEL;CELL;VOICE:$_POST[kontakt_mobil] \n";
$vcard .= "TEL;WORK;FAX:$_POST[kontakt_fax] \n";
$vcard .= "ADR;WORK:;;$_POST[kontakt_strasse];$_POST[kontakt_ort];;$kontakt_plz; \n";
$vcard .= "LABEL;WORK;ENCODING=QUOTED-PRINTABLE:=0D=0A$_POST[kontakt_strasse]=0D=0A$_POST[kontakt_ort], $_POST[kontakt_plz]==0D=0A \n";
$vcard .= "X-WAB-GENDER:2 \n";
$vcard .= "URL;WORK:http://$_POST[kontakt_www] \n";
$vcard .= "EMAIL;PREF;INTERNET:$_POST[kontakt_email] \n";
$vcard .= "END:VCARD";
// Dateinamen erzeugen
$zeit = time();
$datei = $_POST[kontakt_firma]."_".$_POST[kontakt_nachname]."_".$_POST[kontakt_vorname]."_".$zeit.".vcf";
//echo "$datei <br /> \n";
$text = $vcard;
// Datei zum Schreiben-Lesen öffnen
$fp = fopen($datei,'a+');
// Text in die Datei schreiben
fwrite($fp,$text,1000);
// Das Dateihandle schließen
fclose($fp);
// Dateityp, der immer abgespeichert wird
header("Content-Type: application/octetstream");
// Dateiname mit Sonderbehandlung des IE 5.5
header("Content-Disposition: ".(!strpos($HTTP_USER_AGENT,"MSIE 5.5")?"attachment; ":"")."filename=$datei");
// Im Grunde ueberfluessig, hat sich anscheinend bewährt
header("Content-Transfer-Encoding: binary");
// Zwischenspeichern auf Proxies verhindern
header("Cache-Control: post-check=0, pre-check=0");
// Dateigröße für Downloadzeit-Berechnung
header("Content-Length: {filesize($datei)}");
// Pause bis zum Löschen der Datei
sleep(20);
// Datei löschen
unlink($datei);
?>
|
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 18.09.2006 16:32
Titel
|
|
|
weil zwischen // Dateigröße für Downloadzeit-Berechnung
und // Pause bis zum Löschen der Datei ein echo fehlt?
Du gibst offensichtlich nichts an den Browser zurück .. also
woher sollte der Content kommen?
|
|
|
|
|
Anzeige
|
|
|
ploehr
Threadersteller
Dabei seit: 19.12.2005
Ort: UelzCoast
Alter: 43
Geschlecht:
|
Verfasst Mo 18.09.2006 16:36
Titel
|
|
|
kaum macht mans richtig, schon funktionierts. würde mein chef jetzt sagen
besten dank!
hier nochmal der code in einer kurzen version:
Code: | <?php
$vcard = "BEGIN:VCARD \n";
$vcard .= "VERSION:2.1 \n";
$vcard .= "N:$_POST[kontakt_nachname];$_POST[kontakt_vorname];;$_POST[kontakt_anrede] \n";
$vcard .= "FN:$_POST[kontakt_vorname] $_POST[kontakt_nachname] \n";
$vcard .= "ORG:$_POST[kontakt_firma]; \n";
$vcard .= "TITLE:$_POST[kontakt_position] \n";
$vcard .= "NOTE:$_POST[kontakt_anmerkung] \n";
$vcard .= "TEL;WORK;VOICE:$_POST[kontakt_telefon] \n";
$vcard .= "TEL;CELL;VOICE:$_POST[kontakt_mobil] \n";
$vcard .= "TEL;WORK;FAX:$_POST[kontakt_fax] \n";
$vcard .= "ADR;WORK:;;$_POST[kontakt_strasse];$_POST[kontakt_ort];;$kontakt_plz; \n";
$vcard .= "LABEL;WORK;ENCODING=QUOTED-PRINTABLE:=0D=0A$_POST[kontakt_strasse]=0D=0A$_POST[kontakt_ort], $_POST[kontakt_plz]==0D=0A \n";
$vcard .= "X-WAB-GENDER:2 \n";
$vcard .= "URL;WORK:http://$_POST[kontakt_www] \n";
$vcard .= "EMAIL;PREF;INTERNET:$_POST[kontakt_email] \n";
$vcard .= "END:VCARD";
// vorläufigen Dateinamen erzeugen
$zeit = time();
$datei = $_POST[kontakt_firma]."_".$_POST[kontakt_nachname]."_".$_POST[kontakt_vorname]."_".$zeit.".vcf";
// kurzen Dateinamen erzeugen
$datei_kurz = $_POST[kontakt_firma]."_".$_POST[kontakt_nachname]."_".$_POST[kontakt_vorname].".vcf";
// Dateityp, der immer abgespeichert wird
header("Content-Type: application/octetstream");
// Dateiname mit Sonderbehandlung des IE 5.5
header("Content-Disposition: ".(!strpos($HTTP_USER_AGENT,"MSIE 5.5")?"attachment; ":"")."filename=$datei_kurz");
// Im Grunde ueberfluessig, hat sich anscheinend bewährt
header("Content-Transfer-Encoding: binary");
// Zwischenspeichern auf Proxies verhindern
header("Cache-Control: post-check=0, pre-check=0");
// Dateigröße für Downloadzeit-Berechnung
header("Content-Length: {filesize($datei)}");
// Dateiinhalt einfügen
echo $vcard;
// Pause bis zum Herunterladen der Datei
sleep(3);
?>
|
Zuletzt bearbeitet von ploehr am Mo 18.09.2006 16:49, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
[erledigt]Preloader Problem bei Download-Simulieren
swf download
mail vor Download
PHP FTP Download Script
Symbol für Download
PDF zum Download anbieten
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|