php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.10.2009, 20:38  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 263
mistermint ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem beim Download Management

Hallo,

habe derzeit folgendes Problem:

Ich habe eine php Datei die als "Downloader" fungiert.
Dieser Downloader funktioniert nur wenn der User angemeldet ist und über die geforderten Rechte verfügt.
Wenn das der Fall ist, stellt sie ihm die Datei direkt als automatisch startenden Download zur Verfügung.
Hier der Code dafür:
PHP-Code:
    header("Pragma: public");
     
header("Expires: 0");
     
header("Pragma: no-cache");
     
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    
header("Content-Type: application/zip"); 
    
header("Content-Disposition: attachment; filename=\"$pdf\"");
    
header("Content-Length: $z");
      
readfile($name); 
Hierbei bekommt der User den eigentlichen Pfad zur Datei nicht zu Gesicht.
Bei diesem automatisch startenden Download liegt mein Problem.
Bei mir funktioniert das wunderbar, nun gibt es aber auch User die laden die Datei ohne Endung runter, oder auch andere in denen irgendwelche Informationen über den Header stehen und wieder andere laden eine Datei mit 0Mb runter.

Wieso?

Daraufhin dachte ich mir, es mit den absoluten Pfaden zu machen, also klicken zum Downloadstart, und das Verzeichnis mit einer .htaccess zu sichern.
Aber hierbei habe ich das Problem, dass der User seine zugangsdaten für die .htaccess weitregeben kann und so auch andere ohne zu bezahlen Dateien runterladen können.(bisher würde das von meinem downloader geprüft).

Habt ihr eine Lösung für mein Problem oder eine Idee wie man das anders umsetzen kann?

Vielen Dank schonmal für jegliche Hilfe

MfG
mistermint ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.10.2009, 21:54  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Warum ist dein PDF ein ZIP? Was ist $z, was steht in $pdf? Lass die Cache-Control, das Pragma, und die Expires weg und verwende einen sinnvollen Content-Type entsprechend der Datei. Außerdem kannst du ja einfach mal die variablen Werte über eine Zeit lang mitloggen ..
Chriz ist offline  
Alt 20.10.2009, 22:51  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 263
mistermint ist zur Zeit noch ein unbeschriebenes Blatt
Standard

$pdf = pfad des files
$z = länge bzw größe der datei
mistermint ist offline  
Alt 21.10.2009, 00:47  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Behauptest du .. wenn alles stimmen würde, gäbe es ja kein Problem, oder? Im übrigen bin ich mir fast sicher, dass einige Angaben, wie genannt, überflüßig sind.
Chriz ist offline  
Alt 21.10.2009, 14:27  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 263
mistermint ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ähm, bei mir funktioniert das so auch einwandfrei.
bei manchen aber treten die oben genannten probleme auf
mistermint ist offline  
Alt 21.10.2009, 16:50  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Mach doch einfach mal was ich gesagt habe, entfern die entsprechenden Einträge und lass das Logging es eine Zeit lang laufen, bis dir einer in die Falle läuft, oder worüber sollen wir jetzt diskutieren? Dass es bei dir selbst funktioniert hat doch garnichts zu sagen ..
Chriz ist offline  
Alt 21.10.2009, 20:20  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

ACK.
Letzten Endes kann das IMHO sogar tw. ein Browsereffekt sein. Einer akzeptiert viell. ein als zip deklariertes PDF, ein anderer verwirft es oder macht andere wunderliche Sachen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 23.10.2009, 23:11  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 263
mistermint ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ES IST EIN ZIP!
Nur der Variablenname in der der Daeiname gespeichert ist heißt $pdf!

Ich bekomm auch keine Dateigröße beim download angezeigt, obwohl ich eig alles beachtet habe:

PHP-Code:
$name $this->folder."/".$pdf;
$z filesize($name);
header("Content-Length: ".$z); 
weiß wer wieso?

Und ich hab nun ne erste Fehlermeldung bekommen:

Konnte die End-of-Central-Directory-Signatur nicht finden. Entweder handelt es sich nicht um eine ZIP-Datei oder die Datei ist Teil eines datenträgerübergreifenden Archivs.

Was sagt mir das??
Ich lese daraus, dass es am zip File liegt, aber wenn es daran liegen würde, müsste ich doch den gleichen Fehler bekommen, tu ich aber nicht?

MfG
mistermint ist offline  
Alt 24.10.2009, 11:34  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Bei der Dateigröße arbeite ich da mit output buffering.
Bsp:
PHP-Code:
    ob_start();
    echo 
$this->image->filecontent;
    
$ImageData ob_get_contents();
    
$ImageDataLength ob_get_length();
    
ob_end_clean();
    
header("Content-Length: ".$ImageDataLength);
    echo 
$ImageData
Hast die unnötigen Angaben schon entfernt?
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Download abfrage mijoko PHP Tipps 2007 4 18.06.2007 17:12
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Nach Download -> Seite erscheint in HTML-Code Locutus007 PHP Tipps 2006 8 26.05.2006 02:46
Dateiname bei Download ändern aber wie? CoverDB PHP Tipps 2006 16 20.03.2006 16:40
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Download PHP Tipps 2006 6 26.01.2006 19:15
Download automatisch starten nicobischof PHP Tipps 2007 1 26.11.2005 08:27
File up& download in MySQL // Problem hier: Filesize PHP Tipps 2005-2 1 20.09.2005 15:30
Download Problem PHP Tipps 2005-2 3 22.07.2005 16:11
download automatisch starten PHP Tipps 2004 7 18.09.2004 20:14
download und Insert problem! PHP Tipps 2004 4 04.09.2004 16:51
[Erledigt] ZIP Download - Header Problem PHP-Fortgeschrittene 1 19.08.2004 02:41
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
konnte die end-of-central-directory-signatur nicht finden, konnte die end-of-central-directory-signatur nicht finden. entweder handelt es sich nicht um eine zip-datei oder die datei ist teil eines datenträgerübergreifenden archivs., end-of-central-directory-signatur, konnte die end-of-central-directory-signatur nicht finden., php download manager, php download header zip, php download fehler, download verwaltung php, download management php, end-of-central-directory-signatur nicht gefunden zip, http://www.php.de/php-einsteiger/60285-problem-beim-download-management.html, end-of-central-directory signatur nicht gefunden, php download management, download readfile pdf defekt, download defekt kein content, problem download manager php, kann die end of central directory nicht finden, konnte die end-of-central-directory-signatur, zip.php download geht nicht, die datei ist teil eines datenträgerübergreifenden archivs.

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum