header kérdés

View: New views
2 Messages — Rating Filter:   Alert me  

header kérdés

by Meskó Tivadar-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Sziasztok!
 
Következő problémával fordulnék hozzátok:
 
Van egy linkem, amelynek a végén ül egy php, amely megjelenít egy (mondjuk) PDF fájlt.
 
Adatbázisból olvasom ki a fájl nevét, tartalmát és mime típusát.
 
Minden működik, kivétel az, hogy a "Content-Disposition: inline" ... sorban nagy ívben tesz a filename bejegyzésre. A fájl neve docview.php marad és nem pedig az adatbázisban tárolt nevet veszi át, pedig nekem a tárolt fájlnév kellene.
 
Akkor, amikor az inline-t átjavítom attachment-re, akkor nagyon szépen az adatbázisban tárolt néven akarja letölteni, de egyébként nem.
 
Tudtok rá megoldást? (amennyiben igen, vázolja már fel valaki lécci!)
 
link: print ("<a href=\"docview.php?idvalue=".$documentid_ertek." target=\"_blank\">PDF dokumentum</a>");
 
docview.php:
<?php
include 'db_functions.php';
 
$rec_id = $_GET['idvalue'];
 
$eredmeny = query_run("tbl_documents", "*", "where doc_id=".$rec_id, "");
$sor = mysql_fetch_array($eredmeny);
 
$filename = strtolower(stripslashes($sor['doc_filename']));
$mimetype = stripslashes($sor['doc_mime']);
$len = strlen($sor['doc_file']);
 
header('Content-type: '.$mimetype);
header('Content-Length: '.$len);
header('Content-Disposition: inline; filename="$filename"'); //ez a kérdéses sor, amivel bajom van jól.
header('Content-Transfer-Encoding: binary');
 
echo ($sor['doc_file']);
?>
 
 
 
Köszi:
Meskó Tivadar

--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak

Re: header kérdés

by "Baranyai László" :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Üdv!

> Minden működik, kivétel az, hogy a "Content-Disposition: inline" ...
> sorban nagy ívben tesz a filename bejegyzésre. A fájl neve docview.php
> marad és nem pedig az adatbázisban tárolt nevet veszi át, pedig nekem
> a tárolt fájlnév kellene.

Ez böngészőtől is függ, hogy szereti-e vagy sem ha megmondják neki
a fájlnevet. Elsőként azt nézném meg, mi van az adatbázisban, mert
ékezetekkel, és spéci karakterekkel (amit a user elment) be lehet esetleg
kavarni. A másik, hogy be is csaphatod a böngészőt, add meg a linket:

"docview.php/" . urlencode($filename)

formában. Ekkor a filename a QUERY_STRING-be kerül. Így biztosan
fájlnak néz ki. :)

> Akkor, amikor az inline-t átjavítom attachment-re, akkor nagyon szépen
> az adatbázisban tárolt néven akarja letölteni, de egyébként nem.

Amúgy az "attachment" a letöltés, az "inline" pedig a beágyazott nézegetés,
feltéve, hogy van megfelelő bővítménye.

Üdv.: Laci

--
Laszlo Baranyai <laszlo.baranyai@...>
Corvinus University of Budapest
--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak
LightInTheBox - Buy quality products at wholesale price