PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sprintf statt Download in Verzeichnis speichern


feuerstein
15.09.2012, 21:30:45
Hallo,
ich habe folgendes Problem. Mit nachstehendem Script versende ich eine jpg Datei. An die Datei füge ich Daten hinzu (anhang). Das alles läuft aus Stream (Download).

Trotz suchen stehe ich auf der Leitung.

Ich möchte aber keinen Download starten, sonder die Datei mit dem Anhang in ein Verzeichnis speichern. Die Daten sind binär. Mot open etc. geht es nicht. Wahrscheinlich eine Frage des Headers?

Hat jemand eine Idee?

Sollte für PHP4.3x und PHP5 funktionieren.


<?php

$filename = sprintf("%s/%s", $basedir, $dlfile);
header("Content-Type: application/octet-stream");
$save_as_name = basename($dlfile);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");

$anhang = "Dieser Text wird in die Datei eingefügt";
echo $anhang;

?>


Frank

Ckaos
16.09.2012, 06:06:14
Hi,

damit
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
startest du den Download.
Schau dir mal fwrite (http://php.net/manual/en/function.fwrite.php)an.

mfg

CKaos

feuerstein
16.09.2012, 12:11:16
Hallo Ckaos,

Das war mal eine schnelle und zielgenaue Antwort.

Besten dank dafür !

ERLEDIGT

Frank

meikel (†)
16.09.2012, 12:20:36
Auch wenn das Thema schon gegessen ist:
Sollte für PHP4.3x und PHP5 funktionieren.
Biste im Museum eingebrochen? PHP4.3.x ist ca. 10 Jahre alt.

Aktuell ist PHP 5.4.6 und es gibt keinen vernünftigen Grund, stattdessen ältere und fehlerhafte Interpreterversionen zu nutzen.

feuerstein
16.09.2012, 12:32:01
Aber aber meikel :-)

>Biste im Museum eingebrochen? PHP4.3.x ist ca. 10 Jahre alt.
Passen zum hohen Alter eben. Und den Server hab ich auch schon fast 15 Jahre.

Aktuell ist PHP 5.4.6 und es gibt keinen vernünftigen Grund, stattdessen ältere und fehlerhafte Interpreterversionen zu nutzen.

Doch ich hätte einen. Ich nutze ein Downloadscript, was mal jemand programmiert hat. Den gibt es nicht mehr. Und ich gebe zu, dass ich Angst habe, dass nach Umstellung morgen meine Einkünfte ausbleiben und Kunden abwandern.

Wenn es ein sinnvolles Testprogramm gäbe, was man über den Quellcode laufen lassen könnte, würde ich das tun.

Zudem bin ich nicht unbedingt Oberliga, was php angeht :-)

Frank

TeX
18.09.2012, 10:34:44
XAMPP - installieren - Script drauf hauen und guggn

meikel (†)
19.09.2012, 16:22:34
Doch ich hätte einen. Ich nutze ein Downloadscript, was mal jemand programmiert hat. Versteh mich nicht falsch: ich bin ganz sicher kein Versionshopper, aber ich lese mir immer das changelog durch und staune, was für ein Glück ich hatte, daß es bei mir noch nicht eingeschlagen hat.

Ein altes Script ist kein Grund, eine alte und bekannt fehlerhafte PHP Version einzusetzen.

Den gibt es nicht mehr. Und ich gebe zu, dass ich Angst habe, dass nach Umstellung morgen meine Einkünfte ausbleiben und Kunden abwandern.
Die Kunden wandern spätestens dann ab, wenn Dein Server geknackt wurde und die Einbrecher Zugang auf die Kundendaten bekommen. Du wärst nicht der erste und ganz sicher auch nicht der letzte, dem sowas passiert.

TeX
19.09.2012, 16:46:10
Die Kunden wandern spätestens dann ab, wenn Dein Server geknackt wurde und die Einbrecher Zugang auf die Kundendaten bekommen. Du wärst nicht der erste und ganz sicher auch nicht der letzte, dem sowas passiert.

Kann ich nur zustimmen. Habe das selber schon bei jemanden erlebt und das ist der Genickbruch.