webForumDet fria alternativet

Download

7 svar · 374 visningar · startad av bgust

bgustMedlem sedan mars 2000136 inlägg
#1

Jag använder följande kod för att ladda hem filer:

<?php
	set_time_limit(30);
	header("Content-disposition: filename=$fileToDownload");
	header("Content-type: application/octetstream");
	header("Pragma: no-cache");
	header("Expires: 0");
	readfile("$fileToDownload");
	exit;
?>

Det funkar utmärkt till alla filer utom bilder. Använder man det på en fil med ändelsen jpg eller gif stån den bara och tuggar och tuggar och tuggar och inget händer. Ändrar jag ändelsen på filen går det bra.
Var ligger felet? I min kod eller i konfigurationen av servern?

mikael_aMedlem sedan mars 2000475 inlägg
#2

testa:

header("Content-type: application/force-download");

bgustMedlem sedan mars 2000136 inlägg
#3

Tyvärr. Samma resultat. Har du någon sida att rekommendera gällande information om argumenten till header?

mikael_aMedlem sedan mars 2000475 inlägg
#4

https://www.php.net

sök på header

mikael_aMedlem sedan mars 2000475 inlägg
#5

jag använder mig av följande kod (vet ej hur den är med bilder)


<?php

include("../includes/sql.inc");

$id = $_GET[id];

	if(!is_numeric($id)){
		die("Invalid id specified");
	}//end if...

$resultat = get_download_blob($id);

//if(mysql_num_rows($resultat) == 1){
if($data = mysql_fetch_assoc($resultat)){

	if(stristr('mac', $_SERVER['HTTP_USER_AGENT'])) {
		$type = 'application/download';
	}
	else{
		$type = 'application/octet-stream';
	}

		header("Cache-control: private"); // another fix for IE
		header("Content-Type: {$type}");
		header("Content-Disposition: attachment; filename=\"{$data['file_name']}\"");
		header("Content-Length: {$data['file_size']}");
		header("Content-Transfer-Encoding: binary");

		$fileOutput = $data['file'];
		echo $fileOutput;
		unset($fileOutput);
		return TRUE;

	        }
	                else {
	                    return FALSE;
	                    echo "Record doesn't exist.";
	                }

	?>
KoplikMedlem sedan juli 20011 129 inlägg
#6

Hmmm...
Nu spammar jag lite här.
Kan det inte ha att göra med att explorer alltid försöker öppna bilder och för att spara ner så måste man välja
"Spara bild som..."
istället för
"Spara mål som..."

bara höftar lite på anledningen, jag har ingen aning om hur man löser det. Du får väl ändra till "image/jpeg" istället på Contenttypen för att visa den istället... ähh, jag vet inte... som sagt bara spammar.

bgustMedlem sedan mars 2000136 inlägg
#7
        header("Content-Disposition: attachment; filename=\"{$data['file_name']}\"");

gjorde susen. Verkar funka. Ska testa nogare på måndag. Tack.

Kent.JMedlem sedan aug. 2001153 inlägg
#8

http://www.php.net/manual/en/function.fpassthru.php

Där du läsa lite kommentarer om du har lite o göra :)

128 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)