Problema con visualizzazione dell'immagina da tabella database

  • Creatore Discussione Creatore Discussione chica03
  • Data di inizio Data di inizio

chica03

Nuovo Utente
11 Ago 2010
4
0
0
Ciao a tutti,
ho un altro problema che riguarda, come da titolo, le immagini da richiamare dal database mysql.
Vi posto il codice:

PHP:
<?php

include("connessione_DB.php");

if($_GET['id'] == "")
    header("Location: dettagli.php");



$query = "SELECT * FROM operepro WHERE id = " . $_GET["id"];
$risultato = mysql_query($query)
or die("Query non valida: " . mysql_error());
$tmp = mysql_fetch_array($risultato);


header("Content-Type: " . $tmp["fotoT"]);

/*echo $tmp["foto"];  */


?>

<img src='<?=$tmp["foto"]?>'>


Il problema è che mi restituisce una pagina formata esclusivamente da caratteri.
Qual'è il problema come posso risolverlo?
 
Questo problema è stato trattato già qualche miliardo di volte nel forum. Ti invito a fare qualche ricerca. Tempo fa ho pubblicato un modo per gestire la visualizzazione di immagini salvate nel database senza alcun grattacapo.
 
posto il codice che però è adattato alla guida, ma il problema è sempre uguale anche quando ho seguito il tuo script, mi torna una pagina con l'icona dell'immagine rotta seguita da una lunga serie di caratteri

PHP:
<?php

include("connessione_DB.php");

error_reporting(0);

$id = isset($_GET['id']) ? intval($_GET['id']) : 0;



$query = "SELECT * FROM operepro WHERE id = " . $_GET["id"];
$risultato = mysql_query($query)
or die("Query non valida: " . mysql_error());

$row = @mysql_fetch_array($risultato);
  $id_img = $row['id'];
  $type = $row['fotoT'];
  $img = $row['foto'];
  if (!$id_img)
  {
    echo "Id sconosciuto";
  }else{
    @header ("Content-type: ".$type);
    echo $img;
  }




?>
 
In realtà, non me n'ero accorto, tu avevi già risolto il problema, ma non te ne sei resa conto. Crea un file image.php contenete:
PHP:
<?php
require 'connessione_DB.php';

$id = isset($_GET['id']) ? intval($_GET['id'])  : 0;

$sql = "SELECT * FROM operepro WHERE id = {$id}";
$result = mysql_query($sql) or die(mysql_error());

if(!mysql_num_rows($result))
{
	header('HTTP/1.1 404 Not Found');
	exit();
}

$row = mysql_fetch_array($result);

header("Content-type: {$row['fotoT']}");
echo $row['foto'];
?>
E poi, per visualizzare la foto con ID 1, scrivi:
HTML:
<img src="image.php?id=1" />
 

Discussioni simili