/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste