bgustMedlem sedan mars 2000136 inlägg 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 testa:
header("Content-type: application/force-download");
bgustMedlem sedan mars 2000136 inlägg 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 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 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 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 http://www.php.net/manual/en/function.fpassthru.php
Där du läsa lite kommentarer om du har lite o göra :)