webForumDet fria alternativet

skicka fil

PHP

5 svar · 386 visningar · startad av bohlin

Medlem sedan mars 2000263 inlägg
Frågan#1

jag har en fil (c:\fil.zip) som jag vill skicka till en användare. Man kan ju inte redirecta till localhost/fil.zip precis.
jag provade med
readfile("c:\\fil.zip");
men jag fick bara upp filen i browsern.

sen provade jag med
Header("Content-type: application/x-zip-compressed");
readfile("c:\\fil.zip");

men det gick inte.

hur gör man?

------------------
/bohlin

Medlem sedan dec. 1999258 inlägg
#2

Vad ar det for fel pa header("location: fil.zip"); ??
Du vill ju skicka filen.

------------------
peterbe.com

Medlem sedan mars 2000263 inlägg
#3

filen ligger utanför http-roten.

men det kasnke går ändå...jag får la prova lite

------------------
/bohlin

Medlem sedan juni 20001 521 inlägg
#4

Kan man använda file:// istället för http:// då? :)

------------------
Gislaved.net - Ett roligare Internet!

Medlem sedan apr. 20003 971 inlägg
#5

Detta borde fungera.

header("Content-disposition: filename=filnamn");
header("Content-type: application/octetstream");

------------------
 - Swey
Projekt wF PHP

Medlem sedan apr. 20007 588 inlägg
#6

Om filen ligger utanför webbrooten så får du öppna den och sedan läsa in innehållet och skriva det till klienten:

<?php
	
	header("Content-disposition: filename=$openFile");
	header("Content-type: application/octetstream");

	
	$fp = fopen($openFile, "r");
	
	while (!feof($fp))
	{
		print fread($fp, 4096);
	}
	
	fclose($fp);

?>

Anropas t.ex visafil.php?loadFile=files.zip

------------------

1010011010 - The binary number of the beast

249 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)