SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.12.2007, 15:09:44
Benutzerbild von Don Colleone
Don Colleone Don Colleone ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 75
Download einer umbenannten Datei

Sehr geehrte Damen und Herren,
ich wünsche allen Lesern ein schönes und angenehmes Weihnachtsfest gehabt zu haben.

Nun zu meiner Frage. Ich habe eine PHP-Datei, der eine id übergeben wird. Diese soll dann auf eine Datei weiterleiten bzw. einen Download starten. EIgentlich ein ganz einfaches Prinzip, eine download.php.
Die Datei liest aus der DB den echten Namen aus

DB:
  1. test.odt
  2. bild.jpg

Das Ding ist aber, dass die Datei auf die weitergeleitet werden soll die id als Namen hat.

Dateienordner:
1.odt
2.jpg

Die Weiterleitung klappt eigentlich auch ganz gut, ebenso wie der Klick-Counter

Ich möchte jetzt aber, das die Datei, die runtergeladen wird nicht als 1.odt runtergeladen wird, sondern automatisch umbenannt wird in test.odt .

Mit Hilfe eines Kumpels habe ich es schon so weit gebracht, dass die Datei umbenannt wird, aber der Inhalt quasi nach PHP geparst wird, was ja bei jpg-Dateien eher suboptimal ist.

PHP-Code:
//mit hilfe der id die daten aus der db lesen
$orgdatei id+endung; (1.odt)
$dateiname der ursprünglich gespeicherte Name aus der DB (test.odt)

header("Content-Disposition: attachment; filename=".$dateiname);
include(
"$orgdatei"); 
Ich hoffe ihr könnt mir da einen Tipp geben, wie ich das anstelle, dass die Datei übertragen wird.

Gruß vom Don
__________________
Guckst du hier: www.dc-zone.de
Mit Zitat antworten
  #2  
Alt 29.12.2007, 15:41:48
rambi
Guest
 
Beiträge: n/a
AW: Download einer umbenannten Datei

PHP-Code:
//mit hilfe der id die daten aus der db lesen 
$orgdatei id+endung; (1.odt// syntaxerror
$dateiname der ursprünglich gespeicherte Name aus der DB (test.odt)  // syntaxerror
// Content-Type fehlt noch
header('Content-Disposition: attachment; filename="'.$dateiname.'"'); 
readfile($orgdatei); 

Geändert von rambi (29.12.2007 um 15:43:45 Uhr)
Mit Zitat antworten
  #3  
Alt 29.12.2007, 15:50:32
Benutzerbild von Don Colleone
Don Colleone Don Colleone ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 75
AW: Download einer umbenannten Datei

Zitat:
Zitat von rambi Beitrag anzeigen
PHP-Code:
//mit hilfe der id die daten aus der db lesen 
$orgdatei id+endung; (1.odt// syntaxerror //das habe ich nur so zusammengeschreibselt, die variable $orgdatei gibt 1.odt aus
$dateiname der ursprünglich gespeicherte Name aus der DB (test.odt)  // syntaxerror //genauso wie oben: test.odt 
// Content-Type fehlt noch //das sind ja immer unterschiedliche dateien, also was soll ich machen?
header('Content-Disposition: attachment; filename="'.$dateiname.'"'); 
readfile($orgdatei); 
---
__________________
Guckst du hier: www.dc-zone.de
Mit Zitat antworten
  #4  
Alt 29.12.2007, 17:32:49
rambi
Guest
 
Beiträge: n/a
AW: Download einer umbenannten Datei

Wenn sich es wirklich nur um Downloads dreht, könnte dieses reichen:
PHP-Code:
header("Content-Type: application/force-download"); 
Mit Zitat antworten
  #5  
Alt 29.12.2007, 17:54:31
Benutzerbild von Don Colleone
Don Colleone Don Colleone ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 75
AW: Download einer umbenannten Datei

Danke für den Tipp, aber so klappt es leider auch nciht, es wird immer noch der Dateiname angezeigt, so wie die Datei auf dem Server heißt und nicht der, der aus der DB geladen wird.

Meinstest du das so:
PHP-Code:
header("Content-Disposition: attachment; filename=".$dateiname); //$dateiname = test.odt
header("Content-Type: application/force-download");
header("Location: $orgdatei"); //$orgdatei = 1.odt 
Ich habs grade nochmal so probiert, aber da kommt auch nix sinnvolles bei raus:
PHP-Code:
$dateihandle fopen($orgdatei,"r");
$daten fread($dateihandle);
print 
$daten;
fclose($dateihandle); 
__________________
Guckst du hier: www.dc-zone.de

Geändert von Don Colleone (29.12.2007 um 18:09:25 Uhr)
Mit Zitat antworten
  #6  
Alt 29.12.2007, 18:26:42
rambi
Guest
 
Beiträge: n/a
AW: Download einer umbenannten Datei

entweder: header("Content-Disposition ..............
oder: header("Location: ...................
Entscheide dich!!
Mit Zitat antworten
  #7  
Alt 29.12.2007, 18:29:54
Benutzerbild von Don Colleone
Don Colleone Don Colleone ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 75
AW: Download einer umbenannten Datei

Wie dem auch sei. Danke für deine Hilfe, aber ich habs jetzt und es funktioniert genauso, wie ich es wollte:

PHP-Code:
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$dateiname);
header("Content-Type: application/force-download");
$dateihandle fopen"$orgdatei","rb");
$daten fread($dateihandle,filesize($orgdatei));
print 
"$daten";
fclose($dateihandle); 
__________________
Guckst du hier: www.dc-zone.de
Mit Zitat antworten
  #8  
Alt 29.12.2007, 18:39:32
rambi
Guest
 
Beiträge: n/a
AW: Download einer umbenannten Datei

Ein doppelter Content-type ist auch Sinnfrei!!
Mit Zitat antworten
  #9  
Alt 29.12.2007, 18:54:06
Benutzerbild von Don Colleone
Don Colleone Don Colleone ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 75
AW: Download einer umbenannten Datei

Zitat:
Zitat von rambi Beitrag anzeigen
Ein doppelter Content-type ist auch Sinnfrei!!
Ach menno, ist doch wumpe.... ich habs ja auch schon weggemacht. Aber bind abei aufs nächste Problem gestoßen:

Wenn $dateiname eine Zeichenkette mit Leerzeichen enthält, wird nur der Text bis zum ersten Leerzeichen angezeigt. Ich habe jetzt schon diverse Anführungszeichen-Kombinationen ausprobiert, jedoch ohne Erfolg.
Gibts da eine Funktion für, dass der ganze String angezeigt wird?

Workaround:
PHP-Code:
$dateiname str_replace(" ""_"$dateiname); 
__________________
Guckst du hier: www.dc-zone.de

Geändert von Don Colleone (29.12.2007 um 19:07:32 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Force Download zerstört WAV Datei theearls2000 PHP Grundlagen 7 11.04.2007 10:27:26
datei nach download löschen silberlocke PHP Grundlagen 6 29.03.2005 20:04:00
Datei zum Download zurückliefern Skyman PHP Grundlagen 6 04.11.2004 17:58:03
Datei Download erzwingen DiJae HTML, CSS und JavaScript Help! 10 08.11.2003 11:49:47
datei via php zum download anbieten decoder23 PHP für Fortgeschrittene und Experten 11 03.09.2003 12:13:21


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:03:38 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.


© 2001-2021 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt