Hvordan laver man et link til filer i mySQL der åbnes direkte?
Jeg har en fil ved navn 'dl.php' med følgende kode(redigeret til eksemplet):<?php
include 'myconnection.php';
$q = mysql_query("SELECT file_name,file_code,filetype FROM mytabel WHERE id=".$_REQUEST["id"]) or die(mysql_error());
if (mysql_num_rows($q)) {
extract(mysql_fetch_array($q));
header("Cache-control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-disposition: attachment; filename=\"$file_name\"");
header("Content-type: $file_type");
echo $file_code;
} else {
echo "404 - file not found!";
}
?>
For at downloade filen laver jeg et link til ovenstående('dl.php?id=1') - og i princippet virker det fint, hvis man blot gemmer filen på loakalcomputeren først og derefter åbner den. Men hvis man blot venstreklikker på linket så forsøger computeren at åbne filen med fx word, photo editor, acrobat reader osv., for så derefter at melde fejl om at filen ikke kunne åbnes!
Her kan i se det i aktion: http://www.bogstav.dk/default.php?menu=0&submenu=1&subsubmenu=3&id=2
Prøv at venstreklikke på downloadfilen 'bogstav-vokalkort.pdf (374 kb)' - den vil så forsøge at åbne filen, men melder fejl(i acrobat 'There was an error opening this document. The file does not exist.').
Prøv bagefter at højreklikke på 'bogstav-vokalkort.pdf (374 kb)' - og gem den lokalt og prøv at åbne filen, så åbnes den fint!
Hvorfor nu det?
