|
| Vise et billede fra mysql Fra : S. Hansen |
Dato : 17-10-06 14:08 |
|
Flg script henter et billede fra mysql og downlader det som en fil der
kan vises i windows billed og fax fremviser.
Hvordan ændres dette så billedet i stedet vises i internet explore.
<?
if(isset($_GET['id']))
{
mysql_connect("localhost", "db", "kode");
mysql_select_db("db");
$id = $_GET['id'];
$query = "SELECT name, type, size, content FROM upload WHERE id
= '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);
header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;
exit;
}
?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
</head>
<body>
<?
mysql_connect("localhost", "db", "kode");
mysql_select_db("db");
$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>
<?
}
}
?>
</body>
</html>
Hvis jeg bruger flg alene
mysql_connect("localhost", "db", "kode");
mysql_select_db("db");
$id = 2;
$query = "SELECT name, type, size, content FROM upload WHERE id
= '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);
header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;
får jeg kun udskrevet ascii værdierne i IE og ikke billedet.
Håber i kan fortælle mig hvad der er galt.
MVH
Steen
| |
Thomas Sørensen (17-10-2006)
| Kommentar Fra : Thomas Sørensen |
Dato : 17-10-06 17:16 |
|
måske kunne du lave en side med noget ala <img src="showimage.php?id=2" />
"S. Hansen" <skidt_fjern_dette@tele2adsl.dk> skrev i en meddelelse
news:5ok9j2h81kcnb0tge6981ga8lnq2utbqci@4ax.com...
>
> Flg script henter et billede fra mysql og downlader det som en fil der
> kan vises i windows billed og fax fremviser.
>
> Hvordan ændres dette så billedet i stedet vises i internet explore.
>
> <?
> if(isset($_GET['id']))
> {
>
> mysql_connect("localhost", "db", "kode");
> mysql_select_db("db");
>
> $id = $_GET['id'];
> $query = "SELECT name, type, size, content FROM upload WHERE id
> = '$id'";
> $result = mysql_query($query) or die('Error, query failed');
> list($name, $type, $size, $content) = mysql_fetch_array($result);
>
> header("Content-Disposition: attachment; filename=$name");
> header("Content-length: $size");
> header("Content-type: $type");
> echo $content;
>
>
> exit;
> }
>
> ?>
> <html>
> <head>
> <title>Download File From MySQL</title>
> <meta http-equiv="Content-Type" content="text/html;
> charset=iso-8859-1">
> </head>
>
> <body>
> <?
>
> mysql_connect("localhost", "db", "kode");
> mysql_select_db("db");
>
> $query = "SELECT id, name FROM upload";
> $result = mysql_query($query) or die('Error, query failed');
> if(mysql_num_rows($result) == 0)
> {
> echo "Database is empty <br>";
> }
> else
> {
> while(list($id, $name) = mysql_fetch_array($result))
> {
> ?>
> <a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>
> <?
> }
> }
>
> ?>
> </body>
> </html>
>
>
>
>
>
> Hvis jeg bruger flg alene
>
> mysql_connect("localhost", "db", "kode");
> mysql_select_db("db");
>
> $id = 2;
> $query = "SELECT name, type, size, content FROM upload WHERE id
> = '$id'";
> $result = mysql_query($query) or die('Error, query failed');
> list($name, $type, $size, $content) = mysql_fetch_array($result);
>
> header("Content-Disposition: attachment; filename=$name");
> header("Content-length: $size");
> header("Content-type: $type");
> echo $content;
>
> får jeg kun udskrevet ascii værdierne i IE og ikke billedet.
>
> Håber i kan fortælle mig hvad der er galt.
>
>
> MVH
> Steen
| |
Nezar Nielsen (17-10-2006)
| Kommentar Fra : Nezar Nielsen |
Dato : 17-10-06 19:16 |
|
S. Hansen wrote:
> Hvordan ændres dette så billedet i stedet vises i internet explore.
[...]
>
> Hvis jeg bruger flg alene
[...]
>
> får jeg kun udskrevet ascii værdierne i IE og ikke billedet.
>
Er type i databasen sat til noget rigtigt?
Prøv evt. at fjerne linjen med content-disposition headeren.
--
Mvh. Nezar Nielsen
http://gorilla.dk
| |
S. Hansen (18-10-2006)
| Kommentar Fra : S. Hansen |
Dato : 18-10-06 11:01 |
|
On Tue, 17 Oct 2006 20:16:26 +0200, Nezar Nielsen <tumpen@fez.dk>
wrote:
>S. Hansen wrote:
>> Hvordan ændres dette så billedet i stedet vises i internet explore.
>[...]
>>
>> Hvis jeg bruger flg alene
>[...]
>>
>> får jeg kun udskrevet ascii værdierne i IE og ikke billedet.
>>
>
>Er type i databasen sat til noget rigtigt?
>Prøv evt. at fjerne linjen med content-disposition headeren.
Når jeg bruger det fulde script, vises billedet i windows billed og
faxfremviser, men det jeg ønsker at få billedet vist direkte i
browseren. Så jo typen er sat til det rigtige.
Steen
| |
S. Hansen (18-10-2006)
| Kommentar Fra : S. Hansen |
Dato : 18-10-06 11:07 |
|
On Tue, 17 Oct 2006 20:16:26 +0200, Nezar Nielsen <tumpen@fez.dk>
wrote:
>S. Hansen wrote:
>> Hvordan ændres dette så billedet i stedet vises i internet explore.
>[...]
>>
>> Hvis jeg bruger flg alene
>[...]
>>
>> får jeg kun udskrevet ascii værdierne i IE og ikke billedet.
>>
>
>Er type i databasen sat til noget rigtigt?
>Prøv evt. at fjerne linjen med content-disposition headeren.
Jo det lykkedes i det fulde script at få billedet vist i ie.
Tak for hjælpen.
Steen
| |
S. Hansen (18-10-2006)
| Kommentar Fra : S. Hansen |
Dato : 18-10-06 13:14 |
|
On Wed, 18 Oct 2006 12:07:23 +0200, S. Hansen
<skidt_fjern_dette@tele2adsl.dk> wrote:
>On Tue, 17 Oct 2006 20:16:26 +0200, Nezar Nielsen <tumpen@fez.dk>
>wrote:
>
>>S. Hansen wrote:
>>> Hvordan ændres dette så billedet i stedet vises i internet explore.
>>[...]
>>>
>>> Hvis jeg bruger flg alene
>>[...]
>>>
>>> får jeg kun udskrevet ascii værdierne i IE og ikke billedet.
>>>
>>
>>Er type i databasen sat til noget rigtigt?
>>Prøv evt. at fjerne linjen med content-disposition headeren.
>
>Jo det lykkedes i det fulde script at få billedet vist i ie.
>
>Tak for hjælpen.
>
>Steen
Men desværre kan den kun nu vise billedet.
Steen
| |
Martin Mouritzen (18-10-2006)
| Kommentar Fra : Martin Mouritzen |
Dato : 18-10-06 14:53 |
|
On Wed, 18 Oct 2006 14:13:49 +0200, S. Hansen
<skidt_fjern_dette@tele2adsl.dk> wrote:
>Men desværre kan den kun nu vise billedet.
Du bruger scriptet "forkert", derudover mangler du også lidt
sikkerhed. Prøv nedenstående:
<?
mysql_connect("localhost","db","kode");
mysql_select_db("db");
if(isset($_GET["id"])) {
$id = $_GET["id"];
$query = "SELECT name, type, size, content FROM upload WHERE id =
'".addslashes($id)."'";
$result = mysql_query($query) or die("Error, query failed");
list($name, $type, $size, $content) = mysql_fetch_array($result);
if (isset($_GET["download"])) {
header("Content-Disposition: attachment; filename=$name");
}
header("Content-length: ".$size);
header("Content-type: ".$type);
echo $content;
exit;
}
?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type"
content="text/html;charset=iso-8859-1">
</head>
<body>
<?
$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0) {
echo "Database is empty <br>";
}
else {
while(list($id, $name) = mysql_fetch_array($result)) {
print "<a href=\"download.php?id=".$id."\">Se ".$name."</a> -
<a href=\"download.php?id=".$id."&download=true\">Download
".$name."</a><br>";
}
}
?>
</body>
</html>
--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk
| |
S. Hansen (19-10-2006)
| Kommentar Fra : S. Hansen |
Dato : 19-10-06 20:32 |
|
On Wed, 18 Oct 2006 15:53:26 +0200, Martin Mouritzen
<martin@siteloom.dk> wrote:
>On Wed, 18 Oct 2006 14:13:49 +0200, S. Hansen
><skidt_fjern_dette@tele2adsl.dk> wrote:
>
>>Men desværre kan den kun nu vise billedet.
>
>Du bruger scriptet "forkert", derudover mangler du også lidt
>sikkerhed. Prøv nedenstående:
>
><?
>mysql_connect("localhost","db","kode");
>mysql_select_db("db");
>if(isset($_GET["id"])) {
> $id = $_GET["id"];
> $query = "SELECT name, type, size, content FROM upload WHERE id =
>'".addslashes($id)."'";
> $result = mysql_query($query) or die("Error, query failed");
> list($name, $type, $size, $content) = mysql_fetch_array($result);
>
> if (isset($_GET["download"])) {
> header("Content-Disposition: attachment; filename=$name");
> }
> header("Content-length: ".$size);
> header("Content-type: ".$type);
> echo $content;
> exit;
>}
>?>
><html>
><head>
><title>Download File From MySQL</title>
><meta http-equiv="Content-Type"
>content="text/html;charset=iso-8859-1">
></head>
><body>
><?
>$query = "SELECT id, name FROM upload";
>$result = mysql_query($query) or die('Error, query failed');
>if(mysql_num_rows($result) == 0) {
> echo "Database is empty <br>";
>}
>else {
> while(list($id, $name) = mysql_fetch_array($result)) {
> print "<a href=\"download.php?id=".$id."\">Se ".$name."</a> -
><a href=\"download.php?id=".$id."&download=true\">Download
>".$name."</a><br>";
> }
>}
>
>?>
></body>
></html>
Men linien
echo "skriv dette";
tilføjet efter
echo $content;
og inden
exit;
bliver ikke udskrevet.
Jeg ønsker helt præcis billedet indlejret helt normalt sammen med
tekst og andre billeder, og det kan jeg ikke få til at virke.
| |
|
|