22. januar 2005 - 11:12Der er
14 kommentarer og 1 løsning
upload til mySQL og download pdf
Hej jeg har lavet lidt kode der gør at man kan uploade filer til en mySQL-database - og det fungerer for så vidt udemærket. Problemet kommer først når filerne skal downloades igen - word og jpg mv. virker fint nok med den kode jeg har, men pdf-filer melder fejl hver gang(document was damaged and could not be opened).
Mit spørgsmål er hvorfor melder den efj og hvordan undgås dette? Og er det muligt at lave det således at folk kan højreklikke på linket til min php-fil(den der henter data) og gemme det uploadede dokument?
Min database gemmer tre oplysninger om filen type(filetype), størrelse(filesize) og data(filecode) - derudover gemmes der naturligvis et unikt id til hver fil i databasen.
Nedenstående er den php-fil der kaldes når data skal hentes!
Min kode ser sådan her ud: include 'mindatabaseforbindelse.php'; $q = mysql_query("SELECT * FROM mindatabse WHERE id=".$_REQUEST["id"]) or die(mysql_error()); if (mysql_num_rows($q)) { extract(mysql_fetch_array($q)); if (strstr($HTTP_USER_AGENT,"MSIE 5.5")) { $attachment = ""; } else { $attachment = "attachment"; } header("Expires: Mon, 31 Dec 2004 00:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i ") . " GMT"); header("Pragma: no-cache"); header("Content-disposition: $attachment filename=\"$filename\""); header("Content-type: $filetype"); print $filecode; } else { print "404 - file not found!"; }
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Hmm .gif virker heller ikke(forsøges på min maskine at åbnes via 'Windows billed- og faxfremviser') og typen hedder 'image/gif' i databasen, men .jpg .txt og .doc virker fint!
Når de andre virker som de skal putter du det sikkert korrekt i databasen, så det virker lidt mystisk. Du har ikke et link til siden, så der kan eksperimenteres lidt ?
send mig en mail - det er nemlig under login - og jeg er ikke vild med at hvem som helst kan putte ting ind (selv ikke i en begrænset periode), men jeg kan oprette et midlertidigt logon til dig!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.