Problemas al visualizar una imagen en binario

Hola, estoy intentando hacer un apartado de una pagina, donde quiero visualizar una fotografía con un titulo y al pulsar el titulo se abra y se visualice dicha imagen con el desarrollo de la noticia.

He modificado el php.ini y también la he subido a un servidor externo y sigo con el problema, he revisado el código y no he encontrado el problema. Ya no se que hacer je je.

Aqui os dejo el código completo a ver si me podéis echar una mano.

Código MySQL :

CREATE TABLE IF NOT EXISTS `noticia` (
`id` int(3) NOT NULL auto_increment,
`titulo` varchar(255) NOT NULL default '',
`subtitulo` text NOT NULL,
`detalle` text NOT NULL,
`foto` blob NOT NULL,
`thumb` blob NOT NULL,
`mime` varchar(40) NOT NULL default '',
`fecha` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=34 ;

formulario.php

  <?php include_once("config.php"); ?>
<?php
// Verificamos que el formulario no ha sido enviado aun
$postback = (isset($_POST["enviar"])) ? True : false;
if($postback){
// errores
error_reporting(E_ALL);
# Altura de el thumbnail en píxeles
define("ALTURA", 100);
# Nombre del archivo temporal del thumbnail
define("NAMETHUMB", "c:/windows/temp/thumbtemp");
define("DBHOST", "$servidor");
define("DBNAME", "$database");
define("DBUSER", "$usuario");
define("DBPASSWORD", "$password");
$mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
$name = $_FILES["foto"]["name"];
$type = $_FILES["foto"]["type"];
$tmp_name = $_FILES["foto"]["tmp_name"];
$size = $_FILES["foto"]["size"];
if(!in_array($type, $mimetypes))
die("Seleciones una Imagen o El archivo que subiste no es una Imagen válida");
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
$img = imagecreatefromjpeg($tmp_name);
break;
case $mimetypes[2]:
$img = imagecreatefromgif($tmp_name);
break;
case $mimetypes[3]:
$img = imagecreatefrompng($tmp_name);
break;
}
$datos = getimagesize($tmp_name);
$ratio = ($datos[1]/ALTURA);
$ancho = round($datos[0]/$ratio);
$thumb = imagecreatetruecolor($ancho, ALTURA);
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $ancho, ALTURA, $datos[0], $datos[1]);
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
imagejpeg($thumb, NAMETHUMB);
break;
case $mimetypes[2]:
imagegif($thumb, NAMETHUMB);
break;
case $mimetypes[3]:
imagepng($thumb, NAMETHUMB);
break;
}
# foto original
$fp = fopen($tmp_name, "rb");
$tfoto = fread($fp, filesize($tmp_name));
$tfoto = addslashes($tfoto);
fclose($fp);
# thumbnail
$fp = fopen(NAMETHUMB, "rb");
$tthumb = fread($fp, filesize(NAMETHUMB));
$tthumb = addslashes($tthumb);
fclose($fp);
// Borra archivos temporales
@unlink($tmp_name);
@unlink(NAMETHUMB);
//proceso de almacenamiento
$titulo = (ucfirst($_POST["titulo"]));
$subtitulo = $_POST["subtitulo"];
$detalle = (nl2br(htmlspecialchars(urldecode($_POST["detalle"]))));
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$sql = "INSERT INTO noticia(titulo, subtitulo, detalle, foto, thumb, mime)
VALUES
('$titulo', '$subtitulo', '$detalle', '$tfoto', '$tthumb', '$type')";
mysql_query($sql, $link) or die(mysql_error($link));
echo " Archivos Guardados, correctamente ";
exit();
}
?>
<html>
<head>
<title>Introducir Noticia</title>
</head>
<body>
<form name="frmimage" id="frmimage" method="post"
enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">
<p>Titulo<br />
<input name="titulo" type="text" class="text" id="titulo" />
</p>
<p> Subtitulo<br />
<textarea name="subtitulo" id="subtitulo" cols="60" rows="5" tabindex="4"></textarea>
</p>
<p> Detalle<br />
<textarea name="detalle" id="detalle" cols="60" rows="10" tabindex="4"></textarea>
</p>
<p>
Seleciones una imagen<br>
<input name="foto" type="file" class="text" id="foto" />
</p>
<p>
<input name="fecha" type="hidden" id="fecha" />
<input name="enviar" type="submit" id="enviar" value="Publicar" />
</p>
</form>
</body>
</html>

detalle.php

<?php include_once("config.php"); ?>
<?php
$conex = mysql_connect ("$servidor","$usuario","$password");
if (!$conex)
{
die('NO puede conetarse: ' . Mysql_error());
}
mysql_select_db ("$database", $conex);
$id = (isset($_GET["id"])) ? $_GET["id"] : exit();
$resultado = mysql_query ("SELECT * FROM noticia WHERE id=$id");
while($mostrador = mysql_fetch_array($resultado))
{
echo $mostrador['titulo'];
echo "<p>";
echo "<img src=images_bd.php?id=$mostrador[id]&tam=1 >";
echo "<br>";
echo $mostrador['subtitulo'];
echo "<br>";
echo $mostrador['detalle'];
echo "</p>";
}
mysql_close($conex);
?>

images_bd.php

<?php require_once("config.php") ?>
<?php
error_reporting(E_ALL);
define("DBHOST", "$servidor");
define("DBNAME", "$database");
define("DBUSER", "$usuario");
define("DBPASSWORD", "$password");
$id = (isset($_GET["id"])) ? $_GET["id"] : exit();
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;
switch($tam) {
case "1":
$campo = "foto";break;;
case "2":
$campo = "thumb";break;;
default:
$campo = "foto";break;;
}
$sql = "SELECT $campo, mime
FROM noticia
WHERE id = $id";
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$conn = mysql_query($sql, $link) or die(mysql_error($link));
$datos...

Añade tu respuesta

Haz clic para o