Willkommen, Gast
Angemeldet bleiben:

THEMA:

PHP Script Datei herunterladen 01 Jul 2019 13:52 #46884

Hallo zusammen,

Ich brauche die Erweiterung ConvertForms und wollte dort PHP Code nach dem Einreichen des Formulars ausführen lassen.
Es soll eine Datei heruntergeladen werden.

Hier den Code
$url = "meinURL/images/Selbsttest.zip"
header('Content-Type: application/zip');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"Selbsttest.zip\""); 
readfile($url);
exit();

Weder mit einem ZIP Datei noch einer Excel Datei hat es funktioniert.

Die Dateiendung sowie der MIME Type habe ich unter Medien erlaubt damit ich sie überhaupt hochladen kann.

Allerdings wird dann das Formular nicht korrekt ausgeführt sondern es lädt nur. Die Eingaben wird auch nicht in die Datenbank geschrieben.
Kann es sein, dass Joomla das was blockiert sicherheitstechnisch? oder ist mein Code einfach nicht korrekt.

Danke im Voraus

Lieber Gruss

Noah

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PHP Script Datei herunterladen 02 Jul 2019 10:19 #46888

Salut Noah
Ginge es nicht einfacher mit einem Download-Link auf der 'Success'-Seite des Formulars?

Der Code für den Download sieht schon mal nicht schlecht aus. Mein Tip: Mal 'ausserhalb' von Joomla in einer seperaten Datei im Root-Verzeichnis ausprobieren, dann weisst du, ob er funktioniert. Der Code selbst enthält ja keinerlei Joomla-relevanten Dinge (Variablen), er müsste also auch 'ausserhalb' vom Joomla-Framework funktionieren.

Einen solchen 'automatischen' Download würde ich als eigenständigen URL-Aufruf realisieren, denn alles was nach exit() kommt, wird nicht mehr ausgeführt. Auch der restliche Code des Formulars nicht.

Frag doch einfach mal den Entwickler der Erweiterung an, vielleicht hat er ja schon einen passenden Codeschnipsel für dich.

Cheerio
Roger
Tu das was du kannst, mit dem was du hast, da wo du bist

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PHP Script Datei herunterladen 02 Jul 2019 11:24 #46889

Ich habe das übrigens zum Download eines Kalendereintrages im iCalendar Format am laufen, und sieht so aus:
				$output = $v->createCalendar(); 
				header('Content-Type: text/calendar; method=request; charset=UTF-8');
				header('Content-Disposition: attachment; filename='.$filename);
				header('Content-Length: '.strlen($output));
				header('Cache-Control: max-age=10');
				header('Connection: close');
				echo $output;
				die();

Filename ist bei mir nicht in Anführungszeichen, hab ich grad gesehen.
Tu das was du kannst, mit dem was du hast, da wo du bist

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1