Jump to content
Sign in to follow this  
Powie

header() Problematik

Recommended Posts

Um Downloads von Files aus einem geschützen Verzeichniss zu realisieren versuche ich mit header verschiedene HTTP Header voraus zu schicken und dann das File auszuliefern.

Das klappte eigentlch, bis ich nun festgestellt habe das ausgerechnet der IE mal wieder Probleme macht und ganz sporadisch das nicht machen will.....


Das sieht so aus:


$file = der pfad zur datei

 


 

IE, Opera kein Problem, der IE sagt das er das File nicht laden kann........


Hat jemand eine Idee ?

Share this post


Link to post
Share on other sites

ich hab folgende funktion gefunden und optimiert:

 


 


dazu dann der aufruf mit den headern (aus einer klasse raus). sollte kein problem zum umbauen sein für dich...

ErmittleRoot())) {
			echo "Datei nicht vorhanden. FIX-ME";
			exit();
		}
		header ("Content-Description: File Transfer"); 
   	    header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
		header ("Content-Type: application/octet-stream");
		header ("Content-Length: " . filesize($this->ErmittleRoot()));
		header ("Content-Disposition: attachment; filename=\"".basename($this->ErmittleRoot())."\"");
		invReadfileChunked($this->ErmittleRoot());
	}
	else {
		echo "Leeching nicht erlaubt. FIX-ME";
	}	

	exit();

}


?>

Share this post


Link to post
Share on other sites

Hallo


Find ich auch eine Feine Sache, denn auf meinem Server liegen auch Dateien mit teilweise 300 bis 400 MB größe herum.


Ich werde das einmal für mich persönlich testen. Danke an DEC


m.f.g. Sid

Share this post


Link to post
Share on other sites

Coole Sache das.

Habe gerade in einem anderen Falle genau das gesucht.


Danke für den Tip!


oso :H:

Share this post


Link to post
Share on other sites

genau für grössere dateien ist es geeignet.

hilft, dass auch wirklich alle teile runtergeladen werden, wenn man anstelle von "speichern unter..." gleich "öffnen..." wählt.

Share this post


Link to post
Share on other sites

Sollte eigentlich reichen wenn man den Header für die filesize schickt.

Ich habs so und gab damit noch keine Probs:




			
		

Share this post


Link to post
Share on other sites

die Variante von DEC ist aber insofern besser das man damit auch grosse Dateien ausliefern kann die ansonsten das Memory Limit von php sprengen würden. Oder macht das readfile anders ?

Share this post


Link to post
Share on other sites

also bis zu einer Filegröße von 250 MB hatte ich noch keine Probs auf meinem Server :-)

Share this post


Link to post
Share on other sites

mahe, du wirst mit grosser wahrscheinlichkeit mit pdf-, gif- und mov-dateien scheitern, wenn du sie mit "öffnen" (und nicht "speichern unter...") herunterlädst (IE und/oder firefox)...

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...